【发布时间】:2018-01-07 04:55:31
【问题描述】:
在我执行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
【问题讨论】:
-
你的意思是
$docker network inspect bridge -f "{{.Containers}}"返回空? -
是的,合成后它显示为空,当我手动运行它们显示在桥中的图像时。这是正常行为吗?
-
所以现在,我删除了所有容器。 Docker ps 为空。我现在正在运行 docker-compose up -d --build --remove-orphans 成功构建 cfb1f18e9c0c 成功标记 meanchat_myserver:latest 正在启动 meanchat_nginx_1 ... 正在启动 meanchat_client_1 ... 正在启动 meanchat_mongo_1 ... 正在启动 meanchat_nginx_1 正在启动 meanchat_client_1 正在启动 meanchat_mongo_1 ...完成 创建 meanchat_myserver_1 ... 启动 meanchat_client_1 ... 完成然后 docker network inspect bridge 等返回空。当我做 docker ps 然后运行它在检查桥时显示的图像之一
标签: docker nginx docker-compose reverse-proxy bridge