Docker:network命令学习

1、基础命令

在这里插入图片描述
connect 将某个容器连接到一个docker网络
create 创建一个docker局域网络
disconnect 将某个容器退出某个局域网络
inspect 显示某个局域网络信息
ls 显示所有docker局域网络
prune 删除所有未引用的docker局域网络
rm 删除docker网络

2 创建自定义docker局域网络create

docker network create mynet

3、pull镜像和运行镜像

# 拉取镜像
docker pull redis
docker pull nginx
#运行redis容器
docker run -itd --name redis  --network mynet --network-alias redis -p 6379:6379 redis
#运行nginx容器
docker run -d --name nginx -p 80:80 --network mynet --network-alias nginx --privileged=true   -v /home/wwwroot:/home/wwwroot -v /home/wwwlogs:/home/wwwlogs  nginx

4、docker 查询网络信息inspect

#查看mynet的详细信息,发现redis和nginx已在Containers容器内,属于当前mynet网络
[root@localhost /]# docker network inspect mynet
[
    {
        "Name": "mynet",
        "Id": "8453b7b1d246f1ad54e27033928bbb8e7842ca96b4315fad720688af206b69c6",
        "Created": "2020-12-13T22:50:55.566207522-08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "87ff63bb819a823578bed89a67527009d9fee31a92de9d50e5d635b97cc18664": {
                "Name": "redis",
                "EndpointID": "19a04279300025dc936d206a287b1e31d04b339298b445694452a5f4326f7051",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            },
            "c75ff4ac770fd04a1c6daa05a82533555038e3b0f8e15c3b1ee29e26c14a0131": {
                "Name": "nginx",
                "EndpointID": "4ccc014edcfd7be443c75491cc32aa0745561cfd45903e204e8d3e7afa94a4fe",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

5、验证ping命令是否容器之间网络交互

#进入redis命令行,使用ping nginx命令验证能够连接成功**使用ping命令之前,需要给docker安装ping,自行百度**
docker exec -it redis bash
root@822f249e7d90:/# ping nginx
PING nginx (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.071 ms
64 bytes from 172.18.0.3: icmp_seq=1 ttl=64 time=0.100 ms

同样也可以不指定网络,直接启动容器,然后使用docker network connect接入网络。

#将容器删掉重新创建
docker stop nginx
docker rm -f nginx
docker stop redis
docker rm -f redis

6、使用docker network connect

#运行nginx和docker容器
docker run -itd --name redis -p 6379:6379 redis
docker run -d --name nginx -p 80:80 --privileged=true -v /home/wwwroot:/home/wwwroot -v /home/wwwlogs:/home/wwwlogs nginx

使用docker network connect命令连接网络

#加入nginx到mynet网络
[root@localhost /]# docker network connect mynet nginx
#加入redis到mynet网络
[root@localhost /]# docker network connect mynet redis
#查看mynet网络包含的容器,会发现两个容器都加入当前网络了,后面使用ping命令是能够ping通容器名称的。
[root@localhost /]# docker network inspect mynet

7、docker network disconnect

#将nginx移除mynet局域网络
docker network disconnect mynet nginx

使用docker network 很方便的维护和管理docker网络,方便容器之间ip和端口交互。

8、docker network ls

docker network ls

在这里插入图片描述

9、docker network rm mynet

删除docker局域网

10、docker network prune

删除所有未引用的docker局域网络

11、安装jenkins使用cicd打包部署遇到的问题

在这里插入图片描述
在删除容器失败,容器删除了,但是网络还存在,导致无法使用jinkins打包部署

Error response from daemon: No such container: jenkins_yubin
Error: No such container: jenkins_yubin
WARNING: Published ports are discarded when using host network mode
88db82dec6b95591cd259c36b511a6c271118afc12caaeb2ed5ef8a1ad9e59cc
docker: Error response from daemon: endpoint with name jenkins_yubin already exists in network host.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

重启docker解决这个问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值