docker - 在 Mac 上使用 docker compose 从 docker 容器内连接到 Internet
问题描述
我有一个相当简单的 docker-compose 文件,如下:
version: "3.8"
services:
synchronisation:
build: .
command: 'python3 manage.py runserver 0.0.0.0:8000'
networks:
- syncnet
ports:
- "8000:8000"
- "8008:8008"
volumes:
- .:/var/lib/django
- packages:/usr/local/lib/python3.6/site-packages
neo4j:
image: neo4j:3.5.3
networks:
- syncnet
ports:
- "7687:7687"
- "7474:7474"
- "7473:7473"
environment:
NEO4J_AUTH: none
volumes:
packages:
driver: local
driver_opts:
type: none
device: <somefolder>
o: bind
networks:
syncnet:
name: sync_network
现在,synchronisation
我需要从应用程序向应用程序neo4j
和“外部世界”执行一些请求。连接neo4j
成功,但与外界的连接似乎失败。特别是如果我进入synchronisation
容器并运行
ping google.com
我得到结果
PING google.com (172.217.17.46) 56(84) bytes of data.
^C
--- google.com ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 6149ms
我已经设置了
sudo sysctl -w net.inet.ip.forwarding=1
我怎样才能进入“外部世界”工作?很高兴知道我正在使用 Mac 10.15.7 工作。
解决方案
推荐阅读
- c# - 在 C# 中禁用 AWS SDK for S3 中的分块传输编码
- android - 无法为 org.gradle.api.Project 类型的项目“:demo”获取未知属性“ANDROID_SUPPORT_VERSION”
- javascript - 使用伪元素工具提示单击时复制到剪贴板
- protractor - 为什么 sendKeys 在第二次迭代中不输入值
- reactjs - 地图没有显示
- python - Django按日期注释分组返回对象
- python - Windows编写的python脚本在mac上运行时无法导入pandas或numpy;在 Windows 上一切正常
- javascript - 如何通过 Javascript 中的切换类选择元素?
- aframe - 构建 A-Frame 项目文件的公认“最佳实践”方法是什么?
- php - Laravel 中的 PHP 邮件模板,'src' 不适用于标签