我正在尝试为docker-compose文件(server.yml和test.yml)创建自己的网络名称,因为test.yml只是不时启动,但需要访问服务器中的某些服务。阳明海运。我可以使用docker-compose -p nameofproject up
,但不能使用COMPOSE_PROJECT_NAME。
server.yml
version: '2'
networks:
mynetwork:
driver: bridge
services:
app1:
networks:
- mynetwork
environment:
POSTGRES_PASSWORD: somepassword
COMPOSE_PROJECT_NAME: serverstack
app2:
networks:
- mynetwork
environment:
COMPOSE_PROJECT_NAME: serverstack
depends_on:
- app1
我的期望是当容器启动时我应该看到
Creating serverstackmynetwork_app_1
Creating serverstackmynetwork_app_2
网络应该命名为(docker network ls
)
serverstack_mynetwork
就像我执行以下操作一样,实际上有效
docker-compose -p serverstack up
然后我可以使用docker-compose up
和第二个文件连接(在server.yml上使用-p选项时效果很好)
testing.yml
version: '2'
networks:
testapp_network:
external:
name: serverstack_mynetwork
services:
testapp:
networks:
- testapp_network
但是在server.yml上没有-p serverstack
的情况下使用它我将目录视为名称
Creating directoryofapp1_app1_1
Creating directoryofapp2_app2_1
所以省略了COMPOSE_PROJECT_NAME
,我也无法通过serverstack_mynetwork
我在构建图像后添加了COMPOSE_PROJECT_NAME: serverstack
,但我希望它无论如何都能正常工作。我错过了什么?