网关
相关查询命令
1.、查看docker容器网关信息
docker inspect (容器id)31088d236eba
2、ip路由网络管理
ip a
是Linux系统中用于查看IP地址信息的命令。它可以显示本机的网络接口的信息,包括接口的状态、IP地址、子网掩码等
3、列出所有网络
Docker网络是用来连接Docker容器的虚拟网络
docker network ls
通过上述命令,系统会列出所有网络的信息,包括网络ID、名称、驱动程序、创建时间等。
-f:根据过滤条件列出网络
通过-f选项可以根据一些条件来过滤要列出的网络。示例:
docker network ls -f "driver=bridge"
--format:自定义输出格式
通过--format选项可以自定义输出的格式。示例:
docker network ls --format "table {{.ID}}\t{{.Name}}\t{{.Driver}}\t{{.Scope}}"
4、查看docker启动错误
journalctl -u docker.service
sudo journalctl -u docker.service
5、删除网段
sudo ip link delete docker0
6、用于创建一个名为docker0
的虚拟以太网接口:
在Linux中,可以使用ip link add
命令来创建一个名为docker0
的网络接口。
sudo ip link add name docker0 type bridge
这条命令创建了一个名为docker0
的网络接口,类型为bridge
(桥接)。创建接口后,您可能还需要配置IP地址和启用接口:
sudo ip addr add 172.17.0.1/16 dev docker0
sudo ip link set dev docker0 up
这里,172.17.0.1/16
是分配给docker0
接口的IP地址和子网掩码。您可以根据需要更改IP地址。最后,使用ip link set dev docker0 up
命令来启用接口。
请注意,这些命令需要管理员权限,因此在前面加上sudo
。
如果您希望这些设置在系统重启后依然有效,您需要编辑/etc/network/interfaces
或者使用其他网络管理工具来配置docker0
接口的持久化设置。
7 参考链接
https://www.cnblogs.com/1285026182YUAN/p/13208226.html
https://developer.aliyun.com/article/1528521
8、整体思路
8.1 问题描述
服务器: centos7 在Docker上部署项目 docker占用了 172.17.0.0 网段 客户服务器访问此服务器时,数据返回不到客户服务器上。 由于客户地址也是172.19.0.0网段上的。 所以返回数据时,直接找到docer 上去了。
解决了172.17的回指路由问题就可以了
8.2 试着改了docker 容器网关 参照地址:https://www.cnblogs.com/1285026182YUAN/p/13208226.html
先创建一个网段:
docker network create --driver=bridge --subnet=192.168.200.0/24 --gateway=192.168.200.1 tzgj_gatewaydocker
给容器重新制定网桥
docker network connect exceptionless_default 5df5990j
结果客户反馈还是不行
8.3 根据ip a 查看ip路由网络管理 发现 docker安装后 默认占用了127.17 这个网段
解决:(第六点)
然后删除(sudo ip link delete docker0 )占用这个(172.17.0.0)网段的
重新创建指定的 sudo ip addr add 172.17.0.1/16 dev docker0
然后启用接口 sudo ip link set dev docker0 up
8.4 然后去创建容器 需要制定网桥
version: "3.0" services: hyperf: image: hyperf/hyperf:8.1-alpine-v3.15-swoole restart: always container_name: 名称 environment: - TZ=Asia/Shanghai tty: true working_dir: /project volumes: - 主机地址:docker内地址 ports: - "7000:7000" networks: mynet1: ipv4_address: 192.168.201.2 networks: mynet1: ipam: config: - subnet: 192.168.201.0/24
这样基本就可以了
注意
如果多个容器
networks 设置不能重名 mynet1