准备server1,server2 (其中server1作为私有库服务器,server2作为普通客户端)
(相关推荐:docker教程)
在server1上1、下载 registry
docker pull registry:latest
2、配置 /etc/default/docker 因为https需要证书密码等比较复杂,直接加 insecure-registry即可
# docker upstart and sysvinit configuration file# customize location of docker binary (especially for development testing).#docker=/usr/local/bin/docker# use docker_opts to modify the daemon startup options.#docker_opts=--dns 8.8.8.8 --dns 8.8.4.4docker_opts=--insecure-registry 127.0.0.1:5000# if you need docker to use an http proxy, it can also be specified here.#export http_proxy=http://127.0.0.1:3128/# this is also a handy place to tweak where docker's temporary files go.#export tmpdir=/mnt/bigdrive/docker-tmp
3、启动registry
sudo docker run --name registry -d -p 5000:5000 -v /home/docker_registry:/var/lib/registry --restart=always registry:latest
4、tag镜像
docker tag redis server1:5000/redis
5、推送保存私有镜像
docker push server1:5000/redis
5.1、查看推送到私有仓库的镜像
$ docker search 10.10.105.71:5000/tonybai/busybox/error response from daemon: unexpected status code 404但通过v2版本的api,我们可以实现相同目的:$curl http://10.10.105.71:5000/v2/_catalog{repositories:[tonybai/busybox]}
在server2(client)上
因为docker registry中讲到, 如果采用insecure registry的模式,那么所有与registry交互的主机上的docker daemon都要配置:–insecure-registry选项。除了这个模式还可以配置证书,在此不作说明
1、配置 -insecure-registry(centos:/etc/sysconfig/docker ubuntu:/etc/default/docker)
# docker upstart and sysvinit configuration file# customize location of docker binary (especially for development testing).#docker=/usr/local/bin/docker# use docker_opts to modify the daemon startup options.#docker_opts=--dns 8.8.8.8 --dns 8.8.4.4docker_opts=--insecure-registry server1:5000# if you need docker to use an http proxy, it can also be specified here.#export http_proxy=http://127.0.0.1:3128/# this is also a handy place to tweak where docker's temporary files go.#export tmpdir=/mnt/bigdrive/docker-tmp
2、下载
docker pull server1:5000/redis
3、提交推送
docker tag redis server1:5000/redisdocker push server1:5000/redis
以上就是搭建docker私有库的具体方法的详细内容。
