摘要:docker同maven一样,虽然有中央仓库,但是都不是国内的下载速度较慢影响开发进度(当然maven可以配置阿里云的镜像速度很快)。
一、我们希望构建和存储包含不想被公开的信息或数据的镜像。这个时候我们有以下两种选择: 1.利用docker hub上的私有仓库。(下载速度较慢不适合企业开发) 2.在防火墙后面运行自己的Registry(如开发环境的内网)。 二、从Docker容器安装一个Registry非常简单,运行docker提供的容器即可。
1 | sudo docker run -p 5000:5000 registry:2 |
---|
说明:若之前没有安装registry容器则会自动下载并启动一个registry容器,创建本地的私有仓库服 务。 三、接下来需要为镜像打上标签: 例如hello-world
1 | sudo docker tag hello-world localhost:5000/hello-world |
---|
然后doker images则会看到:localhost:5000/hello-world这个镜像 四、随后我们将此镜像push到registry
1 | sudo docker push localhost:5000/hello-world |
---|
五、最后可以通过访问http://ip:port/v2/hello-world/tags/list来查看返回的json串是否存在hello-world 六、同样,客户端则是通过:
1 | sudo docker pull ip:5000/hello-world来获取镜像到本地 |
---|
以上是一个大概的安装过程,网上都有,重要的是一些碰到的bug需要配置一些东西(版本不同配置也不同,本人是docker version:1.12.1 registry version:v2) bug1:Error response from daemon: Get https://IP:5000/v1/_ping: http: server gave HTTP response to HTTPS client 解决方案:echo ‘{ “insecure-registries”:[“你的IP:5000”] }’ /etc/docker/daemon.json cat /etc/docker/daemon.json { “insecure-registries”:[“你的IP:5000”] } 然后重启daemon
1 | sodo /etc/init.d/docker restart |
---|
来获取镜像到本地 随后会一直更新….