docker - 无法从 docker 容器内 curl/ping 到主机 ip
问题描述
我使用 docker 并将 nginx 作为反向代理,在主机上只暴露了 80 和 443 个端口。我还有其他容器和 nginx 在同一网络下使用桥接驱动程序。问题是我无法从 docker 容器内 curl/ping 主机 IP。不过,我可以使用本地 DNS 访问其他容器。请帮忙。
Docker-组合文件
version: "3"
services:
mongo:
image: mongo
container_name: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=rootmongo
- MONGO_INITDB_ROOT_PASSWORD=p4Ss@1234#
# For Persistance
volumes:
- db_data:/data/db
- db_backup:/backup
- db_dump:/dump
restart: always
networks:
- app-network
wealth_advisor_admin:
build:
context: ./adminpanel
dockerfile: Dockerfile
image: wealth_advisor_admin
depends_on:
- mongo
restart: unless-stopped
container_name: wealth_advisor_admin
networks:
- app-network
wealth_advisor_web:
build:
context: .
dockerfile: Dockerfile
image: wealth_advisor_web
container_name: wealth_advisor_web
restart: unless-stopped
depends_on:
- mongo
networks:
- app-network
webserver:
image: nginx:mainline-alpine
container_name: webserver
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- web-root:/var/www/html
- ./nginx-conf:/etc/nginx/conf.d
- certbot-etc:/etc/letsencrypt
- certbot-var:/var/lib/letsencrypt
- dhparam:/etc/ssl/certs
depends_on:
- wealth_advisor_web
- wealth_advisor_admin
networks:
- app-network
certbot:
image: certbot/certbot
container_name: certbot
volumes:
- certbot-etc:/etc/letsencrypt
- certbot-var:/var/lib/letsencrypt
- web-root:/var/www/html
depends_on:
- wealth_advisor_web
command: ---------------
volumes:
certbot-etc:
web-root:
certbot-var:
db_data:
db_backup:
db_dump:
dhparam:
driver: local
driver_opts:
type: none
device: /root/trade/dhparam/
o: bind
networks:
app-network:
driver: bridge
解决方案
推荐阅读
- c++ - 在while循环OpenMP中并行化代码
- generics - 我可以从函数返回一个通用结构吗?
- powershell - 带有可见计时器的 Powershell 弹出消息
- c++ - 致命错误:找不到“windows.h”文件#include
//用于睡眠 - php - 我在哪里创建配置文件(php客户端)
- mysql - 这个多重self-JOIN可以优化吗?
- python - 通过包含 utf-8 符号(德语变音符号ä、ü、ö)的 URL 加载 CSV 文件
- can-bus - SocketCan 错误:向未通电的硬件发送帧
- sql - 获得前一年的近似值
- android - 如何使 Recycler View 表现得像 PlayStore Recycler Views