概述
关于共有镜像Docker Hub
Docker Hub是一个公共的Docker镜像仓库,使用前需要在Docker Hub官网注册一个账号,创建一个仓库(Repository),比如test
需要注意的是,镜像名应该是用户名/仓库名:标签
,这样才能正确地拉取和推送镜像
使用Docker私有仓库的原因
- 速度慢,官方的镜像仓库在国外,访问速度不言而喻;
- 安全性低,如果企业开发的核心代码上传到官方的镜像仓库,这意味着大家都能看到企业内部的代码;
主流私有仓库有哪些
- docker-registry:一个轻量级的镜像仓库,基本上不太占用内存,很适合学习环境中使用。
- harbor:宿主机最少需要2G内存,是企业的主流应用。
registry
部署启动
1 2
| docker pull registry docker run -d -p 5000:5000 --restart=always --name registry -v /data/docker_registry:/var/lib/registry registry
|
在浏览器访问http://服务端IP:5000/v2/_catalog
即可查看仓库
上传镜像
1 2 3 4 5 6 7 8 9 10
| vim /etc/docker/daemon.json
"insecure-registries": ["registry:80"],
docker tag 原镜像名:标签 新镜像名:标签
docker push 镜像名:标签
|
在浏览器访问http://服务端IP:5000/v2/_catalog
即可查看仓库中的镜像信息
其他镜像命令
删除仓库中的镜像
1 2 3 4 5 6 7 8
| docker exec -it registry sh cd /var/lib/registry/docker/registry/v2 ls
rm -rf repositories/镜像名/ registry garbage-collect /etc/docker/registry/config.yml
|
Harbor
harbor私有镜像仓库是在docker官方提供的”registry”基础之上二次开发,它包含了registry的核心功能。harbor相比docker的registry使用起来更加友好,基本上大多数操作都是在web界面中就能完成。
部署Harbor
注意:安装harbor之前,需要先安装docker-ce,docker-compose,container.io,并启动docker守护进程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| wget https://github.com/goharbor/harbor/releases/download/v2.3.0/harbor-offline-installer-v2.3.0.tgz
tar xf harbor-offline-installer-v2.3.0.tgz -C /softwares
cd /softwares/harbor cp harbor.yml.tmpl harbor.yml vim harbor.yml
hostname: harbor.study http: port: 80 harbor_admin_password: 123456 database: password: 123456 max_idle_conns: 100 max_open_conns: 900 data_volume: /data
sh ./install.sh
|
在浏览器中访问harbor.study
即可进入到harbor仓库的web页面
基本使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/docker/daemon.json
"insecure-registries": ["registry:80","study.harbor"],
systemctl restart docker
docker login harbor.study
docker tag 原镜像名:标签 新镜像名:标签
|