Docker私有仓库部署
2016-04-14 10:51
851 查看
1. Registry的部署
运行下面命令获取registry镜像,$ sudo docker pull registry:2.1.1
然后启动一个容器,
$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1
Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。
说明我们已经启动了registry服务,打开浏览器输入http://127.0.0.1:5000/v2或者外网地址http://10.109.252.221:5000/v2或者http://192.168.1.208:5000/v2,出现下面情况说明registry运行正常,
验证
修改TAG为包含数据仓库地址和镜像名的名称$ sudo docker tag hello-world 10.109.252.221:5000/hello-world $ sudo docker push 10.109.252.221:5000/hello-world
现在我们可以查看我们本地/opt/registry目录下已经有了刚推送上来的hello-world。我们也在浏览器中输入http://127.0.0.1:5000/v2/_catalog,如下图所示,
$ sudo docker rmi hello-world $ sudo docker rmi 10.109.252.221:5000/hello-world
然后使用docker pull从我们的私有仓库中获取hello-world镜像,
可能出现的问题
可能会出现无法push镜像到私有仓库的问题。这是因为我们启动的registry服务不是安全可信赖的。这是我们需要修改docker的配置文件/etc/default/docker,添加下面的内容,DOCKER_OPTS="--insecure-registry xxx.xxx.xxx.xxx:5000"
当使用多条OPTS时,需要在一条后面添加比如
DOCKER_OPTS="--insecure-registry 192.168.1.208:5000 --insecure-registry 10.109.252.221:5000 --mtu=1454"
然后重启docker后台进程,
$ sudo service docker restart
这是再push即可。PULL时遇到此问题,需要在client上也执行上述操作!
相关文章推荐
- centos6.5上安装docker
- docker容器的网络信息查看
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- 在Docker中自动化部署Ruby on Rails的教程
- 搭建基于Docker的PHP开发环境的详细教程
- 利用OpenVSwitch在多台主机上部署Docker的教程
- ubuntu14.04+docker的安装及使用
- Docker 清理命令集锦
- 再Docker中架设完整的WordPress站点全攻略
- 基于 Docker 开发 NodeJS 应用
- 使用Docker来加速构建Android应用的基本部署思路解析
- 在Docker上部署Python的Flask框架的教程
- 在Docker上开始部署Python应用的教程
- 详解在Python和IPython中使用Docker
- 使用IPython来操作Docker容器的入门指引
- OSX下brew安装docker(boot2docker)
- docker 设置TLS远程访问
- mesos + marathon + docker部署
- docker-registry server部署