一、简介
1、镜像的仓库
镜像仓库用于存放 Docker镜像
Docker registry提供镜像仓库服务
一个 Docker registry可以包含多个镜像仓库
仓库分为公共镜像仓库与私有镜像仓库
搭建私有仓库的两种方式:Registry、Harbor
2、使用官方仓库的缺陷
需要 internet连接,上传和下载速度慢
上传到 docker hub的镜像任何人都可以访问,虽然可以用私有
repository,但不是免费的
因安全原因很多组织不允许将镜像放到外网
二、registry 仓库
系统 | IP | 主机名 | 角色 |
CentOS 7.4 | 192.168.2.17 | Docker1 | Docker、registry、harbor |
CentOS 7.4 | 192.168.2.1 | Docker2 | Docker、 |
1、启动registry容器仓库
Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了
-p:默认端口是5000,映射到本地5000端口
-v:将本地的/data/registry文件目录挂载到容器的/var/lib/registry目录下
[root@Docker1 ~]# docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry registry:2
[root@Docker1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dba2d52fda19 registry:2 "/entrypoint.sh /etc…" 13 seconds ago Up 12 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp busy_bouman
可以访问查看192.168.2.17:5000/v2
2、推送镜像
[root@Docker1 ~]# docker tag nginx:latest 192.168.2.17:5000/librar/nginx:latest
[root@Docker1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry 2 9c97225e83c8 3 weeks ago 24.2MB
192.168.2.17:5000/librar/nginx latest c316d5a335a5 5 weeks ago 142MB
nginx latest c316d5a335a5 5 weeks ago 142MB
[root@Docker1 ~]# vim /etc/docker/daemon.json #配置docker
{
"log-driver":"journald",
"bip":"192.168.0.1/24",
"insecure-registries":["http://192.168.2.17:5000"]
}
保存
[root@Docker1 ~]# systemctl restart docker
[root@Docker1 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dba2d52fda19 registry:2 "/entrypoint.sh /etc…" 18 minutes ago Exited (2) 35 seconds ago busy_bouman
[root@Docker1