1、下载registry镜像
$ docker pull registry
2、接着我们运行registry镜像运行一个registry容器:
sudo docker run -d -p 5000:5000 registry 选择-d选项是为了让这个容器在后台运行。
默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,我将/opt/data/registry目录挂载到/tmp/registry目录下,如果你本地没有这个目录需要新创建,同时需要给/opt/data/registry目录扩大权限
chmod +777 /opt/data/registry
此处有坑:默认情况下是在容器内的/tmp/registry目录下,但是我的容器镜像是存放在容器中的/var/lib/registry 这个位置。
我是搭建完毕之后,上传一个镜像之后然后使用 find / -name ***查到的位置
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
3、本地镜像的push
建立镜像库首先我们应当将镜像push到本地镜像仓库中,我们以image id 504332db8051 为例:
sudo docker tag 504332db8051127.0.0.1:5000/tomcat
sudo docker push 127.0.0.1:5000/tomcat
这样我们就将镜像传到本地镜像库了。再通过 sudo docker images查看就能看到以127.0.0.1:5000/tomcat的镜像。
4、本地服务器pull镜像
本地服务器首先需要安装好docker,然后根据IP地址来pull镜像,举例来说我刚才建立镜像的主机IP是192.168.163.133,我们在局域网其他主机上执行以下指令:
sudo docker pull192.168.163.133:5000/tomcat
需要去修改我们镜像下载服务器的docker配置文件在/etc/default/docker添加一行:
DOCKER_OPTS="--insecure-registry192.168.163.133:5000"这样就能顺利的从本地镜像库中下载镜像了。
或者是在/etc/sysconfig/docker文件中添加
OPTIONS='--selinux-enabled--insecure-registry 192.168.163.133:5000'