容器镜像生成以后,需要保存到镜像仓库,需要的时候从仓库中拉取镜像,创建容器并运行。
选择节点17.83节点搭建本地仓库。
1. 下载registry 镜像
docker pull registry
2. 创建registry容器并开放端口
docker run -d -p 5000:5000 --name=registry --restart=always --privileged=true -v /data/registry:/var/lib/registry registry:latest
- -p指定端口,一内一外;
- --name=registry 运行的容器名称
- --restart=always 自动重启
- --privileged=true centos7中的安全模块selinux把权限禁止了,加上这行是给容器增加执行权限
- -v表示挂载,前者是宿主机,后者是容器
- registry:latest 需要运行镜像名称
在17.85节点上配置。
3. 在17.85节点上配置镜像仓库的地址
在/etc/docker/daemon.json中配置:
{
"insecure-registries": ["192.168.17.83:5000"]
}
重启docker服务
systemctl daemon-reload
systemctl restart docker.service
4. 给镜像打标签
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ruoyi_ruoyi-server latest 23136f0f1801 44 hours ago 728MB
docker tag ruoyi_ruoyi-server:latest 192.168.17.83:5000/ruoyi-server
[root@k8s-node85 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.17.83:5000/ruoyi-server latest 23136f0f1801 44 hours ago 728MB
ruoyi_ruoyi-server latest 23136f0f1801 44 hours ago 728MB
linux查看镜像
curl http://192.168.17.83:5000/v2/_catalog
windows查看,浏览器直接访问http://192.168.17.83:5000/v2/_catalog
5. 上传镜像
docker push 192.168.17.83:5000/ruoyi-server
Using default tag: latest
The push refers to repository [192.168.17.83:5000/ruoyi-server]
d726a3186611: Pushed
3039eda7e88a: Pushed
35c20f26d188: Pushed
c3fe59dd9556: Pushed
6ed1a81ba5b6: Pushed
a3483ce177ce: Pushed
ce6c8756685b: Pushed
30339f20ced0: Pushed
0eb22bfb707d: Pushed
a2ae92ffcd29: Pushed
latest: digest: sha256:d878ee6f506768d092bb4b70acdd01b80c5281ec19402aa07e0e2437513ce843 size: 2419
6. 在17.81节点上下载镜像
配置/etc/docker/daemon.json
{
"insecure-registries": ["192.168.17.83:5000"]
}
重启docker
systemctl daemon-reload
systemctl restart docker.service
从本地仓库拉取镜像
docker pull 192.168.17.83:5000/ruoyi-server
查看下载的镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.17.83:5000/ruoyi-server latest 23136f0f1801 45 hours ago 728MB
查看仓库中的镜像:
curl http://192.168.17.83:5000/v2/_catalog