06-Docker搭建私有仓库
六、Docker创建私服仓库
registry私服仓库
6.1、私有仓库搭建与配置
- Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地,也可以把我们自己的镜像推送上去
- 但是,有时候我们的服务器无法访问互联网,或者不希望将自己的镜像放到公网中,那么我们就需要搭建自己的私有仓库来存储和管理自己的镜像
- 私有仓库的搭建如下所示
6.1.1、拉取私有仓库镜像
- 命令
docker pull registry
6.1.2、启动私有仓库容器
- 命令
docker run -di --name=myregistry -p 5000:5000 registry
6.1.3、浏览器访问私有仓库
windows访问的话,前提是防火墙开启5000端口,或者关闭防火墙
-
开启端口
-
# 1、查看是否开启有5000端口 firewall-cmd --list-port # 2、开启5000端口 firewall-cmd --add-port=5000/tcp --zone=public --permanent # 3、重新加载防火墙 firewall-cmd --reload # 4、查看端口是否开启成功 firewall-cmd --list-port
-
-
PS:私服仓库的首页和其他的不同,其首页是(IP地址:端口号/v2/_catalog)
- 访问:
192.168.222.135:5000/v2/_catalog
- 该页面表示私有仓库创建成功
- 访问:
6.1.4、修改daemon.json文件
-
假设现在是另一台服务器,则需要修改daemon.json文件
vim /etc/docker/daemon.json
-
在该文件中添加一个key,保存退出。用于让 docker 信任私有仓库地址,以方便拉取和上传等,修改内容如下所示
-
"insecure-registries":["宿主机IP:5000"]
-
PS:JSON文件中的元素记得用
,
号隔开
-
6.1.5、重启docker服务,浏览器再次访问
- 重启 docker 服务,同时及重启 myregistry 容器
systemctl restart docker
docker start myregistry
6.2、将镜像上传到私有仓库
-
操作步骤如下所示
-
# 1、标记镜像为私有仓库的镜像 # 语法:docker tag 镜像名称 私服软件所在的机器IP地址:5000/jdk1.8 docker tag jdk1.8 192.168.222.135:5000/jdk1.8 # 2、上传标记的镜像到私有仓库 # 语法:docker push 宿主机IP:5000/jdk1.8 docker push 192.168.222.135:5000/jdk1.8
-
-
浏览器再次访问私服仓库首页,如下所示
6.3、从私有仓库拉取镜像
-
若是在私有仓库所在的服务器上拉取镜像,那么直接执行如下命令
-
# 因为私有仓库所在的服务器上已经存在相关镜像,所以先删除;指定镜像名称,而不是id # 语法:docker rmi 服务器IP:5000/jdk1.8 docker rmi 192.168.222.135:5000/jdk1.8 # 删除jdk1.8容器(可略) docker rm jdk1.8 # 拉取镜像 # 语法: docker pull 服务器ip:5000/jdk1.8 docker pull 192.168.222.135:5000/jdk1.8 # 可以通过图下信息查看docker的信息;了解私有仓库地址(可略) docker info
-