Joe*_*ind 3 networking routes docker docker-compose
我有一台 IP 地址为 192.168.11.10 的 Mac 主机。
我有一个使用默认网络配置运行的 docker-compose 项目。我需要从 docker 容器内连接到 IP 地址 192.168.11.11 上的设备。
从容器内,我可以访问外部世界的任何内容,除了 192.168.11.X 子网上的主机。我不想使用 network=host 暴露我的网络,因为有大约 6 个不同的服务,我更喜欢将它们分开。
我还尝试通过 VPN 从外部网络连接到 192.168.11.11 设备,以丢弃设备配置上的任何路由问题,并且工作正常。
这是我的 docker-compose.yml 文件的一部分
version: '2'
services:
php:
build:
context: ./
dockerfile: dockerfiles/php/php.docker
links:
- socket
- horizon
volumes:
- './:/var/www'
Run Code Online (Sandbox Code Playgroud)
还有我的 php.docker 文件:
FROM php:7.2-fpm
RUN apt-get update && apt-get install -y mariadb-client libxml2-dev zlib1g-dev libpng-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-install pdo_mysql soap simplexml zip gd
Run Code Online (Sandbox Code Playgroud)
我的 docker 容器中的 ifconfig 如下所示:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
link/tunnel6 :: brd ::
94: eth0@if95: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:18:00:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.24.0.6/16 brd 172.24.255.255 scope global eth0
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
到 google.com 的跟踪路由:
traceroute to google.com (216.58.192.46), 30 hops max, 60 byte packets
1 172.24.0.1 (172.24.0.1) 1.254 ms 1.169 ms 1.136 ms
2 * * *
3 * * *
4 * * *
5 10.130.4.9 (10.130.4.9) 15.110 ms 14.998 ms 15.173 ms
6 10.192.16.97 (10.192.16.97) 16.829 ms 10.192.16.101 (10.192.16.101) 13.281 ms 10.192.16.97 (10.192.16.97) 13.230 ms
7 10.192.37.162 (10.192.37.162) 14.961 ms 15.365 ms 15.946 ms
8 10.192.55.42 (10.192.55.42) 10.349 ms 11.927 ms 11.740 ms
9 10.192.55.53 (10.192.55.53) 13.189 ms 11.223 ms 9.438 ms
10 * * *
11 ix-et-9-1-5-0.tcore2.mln-miami.as6453.net (66.110.72.129) 45.735 ms 44.555 ms 46.883 ms
12 72.14.215.97 (72.14.215.97) 44.955 ms 44.353 ms 45.396 ms
13 108.170.249.1 (108.170.249.1) 35.341 ms 108.170.249.17 (108.170.249.17) 35.471 ms 38.107 ms
14 108.170.226.225 (108.170.226.225) 37.641 ms 108.170.226.229 (108.170.226.229) 36.956 ms 108.170.226.225 (108.170.226.225) 36.224 ms
15 mia07s46-in-f14.1e100.net (216.58.192.46) 49.190 ms 47.804 ms 46.801 ms
Run Code Online (Sandbox Code Playgroud)
我的设备的跟踪路由抛出此错误:
traceroute to 192.168.11.11 (192.168.11.11), 30 hops max, 60 byte packets
1 172.24.0.1 (172.24.0.1) 1.229 ms 1.026 ms 0.964 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
Run Code Online (Sandbox Code Playgroud)
经过几天的苦思冥想,我的 Mac 上似乎出现了一些配置错误。我通过重置整个 Docker 环境修复了这个问题:
(注意:这将删除您的所有容器、图像和网络)
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker network prune -f
docker rmi -f $(docker images --filter dangling=true -qa)
docker volume rm $(docker volume ls --filter dangling=true -q)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |