Kou*_*uja 9 docker docker-compose
我有两个项目,我需要两个不同的 docker 环境(容器)。我docker-compose.yml在两个不同的项目中有两个文件。foo项目和bar项目。
foo/src/website/docker-compose.yml#1 ( foo)
version: '3'
services:
db:
env_file: .env
image: mariadb:10.0.23
container_name: foo-db
ports:
- "42333:3306"
restart: always
web:
image: project/foo
container_name: foo-web
env_file: .env
build: .
restart: always
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails server -p 3000 -b '0.0.0.0'"
volumes:
- .:/webapps/foo
ports:
- "3000:3000"
depends_on:
- db
Run Code Online (Sandbox Code Playgroud)
bar/src/website/docker-compose.yml#2 ( bar)
version: '3'
services:
db:
image: mysql:5.5.50
container_name: bar-db
ports:
- "42333:3306"
env_file: .env
restart: always
web:
image: project/bar
container_name: bar-web
env_file: .env
build: .
restart: always
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails server -p 3000 -b '0.0.0.0'"
volumes:
- .:/webapps/bar
ports:
- "3000:3000"
depends_on:
- db
Run Code Online (Sandbox Code Playgroud)
我为我做这个命令foo的项目docker-compose build和docker-compose up,一切正常。在 Kitematic 中,我看到我的两个容器带有好名字 ( foo-web)。
docker-compose stop。bar) 并运行docker-compose build和docker-compose up。一切正常,但我的容器名称现在被bar-web.docker-compose stop并尝试再次docker-compose up在我的foo项目文件夹中执行,但它失败了。我怎样才能保持两个不同的容器,并轻松地从一个切换到另一个与docker-compose stop和docker-compose up?
我发现了这个问题,docker-compose.yml我的两个项目所在的主文件夹具有相同的文件夹名称。我可以解决这个问题还是需要重命名我的文件夹?
是的,目录名称是以下项目的默认项目名称docker-compose:
$ docker-compose --help
...
-p, --project-name NAME Specify an alternate project name (default: directory name)
Run Code Online (Sandbox Code Playgroud)
使用-p参数指定特定的非默认项目名称。
或者,您也可以设置COMPOSE_PROJECT_NAME环境变量(默认为basename项目目录的 )。
如果您在具有多个撰写文件的文件和项目之间共享撰写配置,请参阅此链接以获取更多信息。
| 归档时间: |
|
| 查看次数: |
1326 次 |
| 最近记录: |