怎么搭建 Docker 私有仓库
本篇内容主要讲解"怎么搭建 Docker 私有仓库",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么搭建 Docker 私有仓库"吧!
1. Docker Hub
1.1. 注册登录
在 https://hub.docker.com/ 免费注册一个 Docker 账号。
在命令行输入
docker login
输入用户名及密码来完成在命令行界面登录 Docker Hub。可以通过
docker logout
退出登录。
1.2. 拉取镜像
可以通过
docker search
命令来查找官方仓库中的镜像,并利用docker pull
命令来将它下载到本地。docker search tomcatdocker pull tomcat
1.3. 推送镜像
可以在登录后通过
docker push
命令来将自己的镜像推送到 Docker Hub。docker tag <镜像ID>
/hello-world:latest
2. 私有仓库
2.1. 安装运行 docker-registry
可以通过获取官方 registry 镜像来运行。默认情况下,仓库会被创建在容器的
/var/lib/registry
目录下。可以通过 -v 参数来将镜像文件存放到本地的指定路径。
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry
2.2. 在私有仓库上上传、搜索、下载镜像
创建好私有仓库后,就可以使用
docker tag
来标记一个镜像,然后推送它到仓库。查看本机已有的镜像:
docker image ls
使用
docker tag
将test-web:latest
这个镜像标记为127.0.0.1:5000/test-web:latest
。格式为docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
docker tag test-web:latest 127.0.0.1:5000/test-web:latest
使用
docker push
上传标记的镜像:docker push 127.0.0.1:5000/test-web:latest
用 curl 查看仓库中的镜像
curl 127.0.0.1:5000/v2/_catalog
如果可以看到
{"repositories":["test-web"]}
,表明镜像已经被成功上传了。先删除已有镜像,再尝试从私有仓库中下载这个镜像。
docker image rm 127.0.0.1:5000/test-web:latestdocker pull 127.0.0.1:5000/test-web:latest
2.3. 注意事项
如果你不想使用 127.0.0.1:5000 作为仓库地址,比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如 192.168.100.100:5000 这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。
因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制。
Ubuntu 16.04+、Debian 8+、centos 7
对于使用 systemd 的系统,可以在
/etc/docker/daemon.json
中写入如下内容(如果文件不存在,创建该文件)。{ "registry-mirror": [ "https://registry.docker-cn.com" ], "insecure-registries": [ "192.168.100.100:5000" ]}
Windows、Mac
对于 Docker for Windows、Docker for Mac 在设置中编辑 daemon.json 增加和上边一样的字符串即可。
到此,相信大家对"怎么搭建 Docker 私有仓库"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!