docker – docker组成了nginx反向代理,未将容器添加到docker0网桥

在执行docker-compose up之后,它将启动容器。
当我执行docker ps时,我得到以下信息,它告诉我容器正在运行。但是,当我执行docker network inspect bridge时,结果显示出docker0桥中没有容器。

然后,当我执行docker run meanchat_myserver时,它实际上确实显示在docker0上,并且我还获得了服务器正在port 3000上运行的数据。
我不能通过使用docker-compose获得。

我在这里做错了什么?

我读到的是,当我使用docker0时,只能引用IP来连接其他容器,而不能引用名称。我可以假定ip在容器上没有变化,并且在将应用程序部署到生产环境中时不会出现问题吗?

 02cf08b1c3da d57f06ba9c68 "npm start" 33 minutes ago Up 33 minutes 4200/tcp meanchat_client_1 e257063c9e21 meanchat_myserver "npm start" 33 minutes ago Up 33 minutes 3000/tcp meanchat_myserver_1 02441c2e43f5 e114a298eabd "npm start" About an ago Up 33 minutes 0.0.0.0:80->80/tcp meanchat_nginx_1 88d9841d2553 mongo "docker-entrypoint..." 3 hours ago Up 3 hours 27017/tcp meanchat_mongo_1 

撰写

version: '3' services: # Build the container using the client Dockerfile client: build: ./ # This line maps the contents of the client folder into the container. volumes: - ./:/usr/src/app myserver: build: ./express-server volumes: - ./:/usr/src/app depends_on: - mongo nginx: build: ./nginx # Map Nginx port 80 to the local machine's port 80 ports: - "80:80" # Link the client container so that Nginx will have access to it mongo: environment: - AUTH=yes - MONGO_INITDB_ROOT_USERNAME=superAdmin - MONGO_INITDB_ROOT_PASSWORD=admin123 - MONGO_INITDB_DATABASE=d0c4ae452a5c image: mongo volumes: - /var/mongodata/data:/data/db 

By default Compose sets up a single network for your app.

有关更多详细信息,请引用此link

这意味着默认情况下,带有containerscompose不会位于默认bridge network中。

您可以通过命令检查containerscompose使用的网络。

docker inspect $container_name -f "{{.NetworkSettings.Networks}}" 

但是,如果您希望containers使用默认的bridge network,则可以使用network_mode

services: service_name: # other options.... network_mode: bridge 

原文链接:https://www.coder.work/article/7382290

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享