在不同的目录中调用docker-compose时,我会遇到冲突错误和网络问题:
冲突问题
搬运工-compose.yml
version: '3'
services:
redis:
image: "redis:alpine"
container_name: redis
予。通过docker-compose =>创建和启动docker容器行
$ docker-compose up --force-recreate -d
Creating redis ... done
II。通过docker-compose =>重新创建并启动docker容器行
$ docker-compose up --force-recreate -d
Recreating redis ... done
III。将docker-compose.yml复制到其他目录。 然后尝试从其他目录重新创建=> ERROR
$ cp docker-compose.yml red2/
$ cd red2/
$ docker-compose up --force-recreate -d
Creating redis ... error
ERROR: for redis Cannot create container for service redis: Conflict. The container name "/redis" is already in use by container "1ba060b545f716731ac1c5992b680e4d4b3639fc0ffeb291899c712f0839d23a". You have to remove (or rename) that container to be able to reuse that name.
ERROR: Encountered errors while bringing up the project.
不同的网络
从docker-compose在不同目录中创建的容器也不共享同一网络。
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
4a4af52e89cd red2_default bridge local
57695428bd9d redis_default bridge local
USECASE
我对szenario的用法:
问题
docker ps
是否显示使用了哪个目录?答案 0 :(得分:0)
回答1:
目录名称用作默认项目名称。 您应该更好地指定项目名称:
docker-compose -p myproject up --force-recreate -d
问题2仍然开放