环境安装:
- VirtualBox 安装 Centos7
- 安装 docker
1. 配置私有仓库和客户端地址
私有仓库:192.168.1.104
客户端:192.168.1.103
通过 Centos 指令: yum install docker 在两台计算机中安装 docker ,可通过docker --version查看相应版本,如:
[root@localhost docker]# docker --version
Docker version 1.12.6, build 88a4867/1.12.6
注意:
- 虚拟机的网络设置一定要选 桥接网卡
- Window 的 IP 为:192.168.1.101,保证192.168.1.101、192.168.1.103、192.168.1.104三者均能互相 ping 通
2. 创建私有仓库(在192.168.1.104虚拟机下)
启动docker服务:
service docker start下载创建私有仓库的registry镜像:
docker pull registry下载上传到私有仓库的镜像,这里选用ubuntu:
docker pull ubuntu查看拥有的image:
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/registry latest 3ebefe7c539b 3 days ago 33.19 MB
docker.io/ubuntu 14.04 d5b7370807f9 4 days ago 188 MB
创建私有仓库:
docker run -p 5000:5000 docker.io/registry标记 tag 为 d5b7 的 image :
docker tag d5b7 192.168.1.104:5000/shy
其中 192.168.1.104 为虚拟机 IP 、 5000 为开启的端口号、 shy 为自己指定的名称。再次使用
docker images查看 image ,发现多了一项:
192.168.1.104:5000/shy latest d5b7370807f9 4 days ago 188 MB推送 192.168.1.104:5000/shy 至本地仓库,此时推送不成功:
[root@localhost sysconfig]# docker push 192.168.1.104:5000/shy
The push refers to a repository [192.168.1.104:5000/shy]
Get https://192.168.1.104:5000/v1/_ping: http: server gave HTTP response to HTTPS client网上很多解决方式为:
[root@localhost ~]# vim /etc/sysconfig/docker
修改
OPTIONS='--insecure-registry 192.168.1.104:5000'
重启 docker :
[root@localhost ~]# service docker restart
尝试之后并没有效果。
正确的解决方式:
[root@localhost docker]# vim /etc/docker/daemon.json
加入:
{"insecure-registries":["192.168.1.104:5000"]}
这句指令表示信任此私有仓库。
重启 docker 。
重新推送 192.168.1.104:5000/shy 至本地仓库:
[root@localhost docker]# docker push 192.168.1.104:5000/shy
The push refers to a repository [192.168.1.104:5000/shy]
66de4e1063cf: Pushed
e9c9caa1b034: Pushed
d787e686c79f: Pushed
bbad1fb7434a: Pushed
826fc2344fbb: Pushed
latest: digest: sha256:2c2577062577c5d58af7cc6ac168b6dbaa6f4b5d32da07728435a06a61ad7c66 size: 1359查看是否推送成功:
[root@localhost docker]# curl http://192.168.1.104:5000/v2/shy/tags/list
{"name":"shy","tags":["latest"]}
输出这个表示推送成功,可以在 192.168.1.103 上下载。
2. 客户端下载私有仓库的 image (在 192.168.1.103 虚拟机下)
启动 docker
使用命令 pull 下载:
[root@localhost shihuayun]# docker pull 192.168.1.104:5000/shy
Using default tag: latest
Trying to pull repository 192.168.1.104:5000/shy ...
Get https://192.168.1.104:5000/v1/_ping: http: server gave HTTP response to HTTPS client
此时下载出错,同样的原因,在 192.168.1.103 虚拟机下:
[root@localhost shihuayun]# vim /etc/docker/daemon.json
加入:
{"insecure-registries":["192.168.1.104:5000"]}
重启 docker 。重新下载:
[root@localhost docker]# docker pull 192.168.1.104:5000/shy
Using default tag: latest
Trying to pull repository 192.168.1.104:5000/shy ...
latest: Pulling from 192.168.1.104:5000/shy
48f0413f904d: Pull complete
87474b8d0f4c: Pull complete
2b6baf792196: Pull complete
4dccbbb76bce: Pull complete
fba30d3e45c8: Pull complete
Digest: sha256:2c2577062577c5d58af7cc6ac168b6dbaa6f4b5d32da07728435a06a61ad7c66
此时成功下载。查看本地 images :
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.104:5000/shy latest d5b7370807f9 4 days ago 188 MB
[1]: http://docs.docker.com/
[2]: 杨保华、戴王剑、曹亚伦编著, Docker 技术入门与实战
[3]: http://blog.csdn.net/qq_29145989/article/details/53738280http://blog.csdn.net/qq_29145989/article/details/53738280
[4]: http://blog.csdn.net/wangtaoking1/article/details/44180901/http://blog.csdn.net/wangtaoking1/article/details/44180901/
本文详细介绍如何在Centos7环境下搭建私有Docker仓库,并实现跨主机访问及镜像的上传与下载。
11万+

被折叠的 条评论
为什么被折叠?



