准备两台Centos7系统的服务器
环境准备
服务器系统 | Centos7.7 |
---|---|
内存 | 1G |
CPU | 2核 |
IP地址 | 10.0.0.43 |
服务器系统 | Centos7.3 |
---|---|
内存 | 1G |
CPU | 2核 |
IP地址 | 10.0.0.44 |
先在43主机上操作
docker save -o nginx.tar nginx:1.1
docker rmi nginx:1.1
docker stop df0f22488230
docker rm df0f22488230
docker rmi nginx:1.1
假如镜像被删除,模拟镜像
镜像的导出和导入
docker load -i nginx.tar
docker export -o redis.tar 48aab1e5eded
docker stop redis
docker rmi redis:1.1
导入进来的同时并更改镜像名称
docker import redis.tar redis:1.2
docker inspect redis:1.2
docker run -p 6379:6379 --name redis -d redis:1.2 redis-server /etc/redis.conf
需要注意,使用docker import导入的镜像,再基于该镜像创建容器时,一定要跟上要执行的command
用export导出的时候 默认命令没有保存下来,如果需要导入的时候,需要基于导出的镜像创建容器的话后面跟需要执行的COMMAND命令,不跟会直接报错
du -h nginx.tar
docker search registry
docker run -d -p 5000:5000 --restart always registry
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
systemctl restart docker
在44主机上操作
vim /etc/docker/daemon.json
{ "insecure-registries":["10.0.0.43:5000"] }
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
systemctl restart docker
docker tag redis:1.2 10.0.0.43:5000/redis:1.2
docker push 10.0.0.43:5000/redis:1.2
docker tag nginx:1.1 10.0.0.43:5000/nginx:1.1
docker push 10.0.0.43:5000/nginx:1.1
创建一个私有仓库
docker run -d -p 5000:5000 --restart always registry
向仓库中推送镜像
docker tag nginx:1.1 10.0.0.43:5000/nginx:1.1
docker push 10.0.0.43:5000/nginx:1.1
docker pull 10.0.0.43:5000/nginx:1.1
查看私有仓库的镜像列表
http://IP:5000/v2/_catalog
http://10.0.0.43:5000/v2/_catalog
查看某个镜像的标签
http://IP:5000/v2/镜像名/tags/list
http://10.0.0.43:5000/v2/redis/tags/list