docker 自定义镜像仓库 持久化存储

sky_551
2020-09-07

创建私有镜像仓库


1 .创建配置文件

/etc/docker/daemon.json
{
"insecure-registries":["192.168.1.10:5000]
}

[root@node ooxx]# vim /etc/docker/daemon.json

{

                "insecure-registries":["192.168.1.10:5000]
        }
2.重启docker服务

[root@node ooxx]# systemctl restart docker   (重启服务)

3.启动私有仓库

[root@node ooxx]# docker run -d -p 5000:5000 registry   (制作/启动私有镜像仓库)
4.上传镜像到私有仓库

给镜像打标签后上传

[root@node ooxx]# docker tag busybox:latest 192.168.1.10:5000/busybox:latest   (给镜像打标签)

[root@node ooxx]# docker push 192.168.1.10:5000/busybox:lates   (上传镜像)

5.在客户端docker上测试

[root@node ooxx]# vim /etc/docker/daemon.json    (镜像默认使用https,我们没有https所以写以下配置文件,改成http

{

                "insecure-registries":["192.168.1.10:5000]
        }

[root@node1 system]# systemctl restart docker.service    (重启docker服务)

[root@node1 system]# docker run -it 192.168.1.10:5000/busybox:latest   (运行服务端镜像)
查询私有仓库的镜像
[root@node1 system]# curl http://192.168.1.10:5000/v2/_catalog   (api查询仓库镜像)
{"repositories":["busybox"]}
查询私有仓库里面的标签
[root@node1 system]# curl http://192.168.1.10:5000/v2/busybox/tags/list   (api查询镜像标签)
{"name":"busybox","tags":["latest"]}


持久化存储


[root@node1 webroot]# docker run -d -p 80:80 -v /var/webroot:/var/www/html 192.168.1.10:5000/myos:httpd
                      后台运行    将容器的80映射到本地80端口
docker run      -d              -p 80:80
将本地的/var/webroot映射到容器的/var/www/html
-v /var/webroot:/var/www/html
还可以使用nfs samba ceph

docker虚拟网络/虚拟交换机


[root@node1 /]# docker network list   (查看虚拟交换机,默认bridge)
[root@node1 /]# docker network inspect b1458b3f5af0   (查看网桥的详细信息)
[root@node1 /]# docker network COMMAND (查看使用帮助)
[root@node1 /]# docker network create --subnet 192.168.100.0/24 -d bridge docker1   (创建虚拟交换机)
[root@node1 /]# docker network ls   (查看虚拟交换机)
[root@node1 /]# docker network rm docker1   (删除docker容器)
[root@node1 /]# docker network create --subnet 192.168.100.0/24 -d bridge -o com.docker.network.bridge.name=docker1 docker1   (创建虚拟交互机)
[root@node1 /]# docker run -it --network=docker1 192.168.1.10:5000/xiaohui   (使用指定的网桥运行容器)
[root@node1 /]# docker inspect -f "{{.NetworkSettings.IPAddress}}" 10d807808895   (获得容器的ip地址)
iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 8022 -j DNAT --to-destination 172.17.0.3:22   (将容器端口22绑定到本机的8022)
[root@node1 /]# iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.2:80 nat端口绑定)


转载自:运维之家(https://www.ttl178.com/blog/?aid=80

关注公众号,获取更多知识干货!!

关注二维码.gif


分享