在执行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。
这意味着默认情况下,带有containers
的compose
不会位于默认bridge network
中。
您可以通过命令检查containers
和compose
使用的网络。
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
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END