我目前正在开始使用 Docker Compose,我想知道如何创建同一服务“Redis”的多个容器。我已经尝试过 docker-compose up --scale redis=3,但它给出了一个错误,我一直在通过 Google 搜索可能的解决方案,但我找不到。
提前谢谢您。
这是我的 docker-compose.yml
version: '3'
services:
redis:
container_name: redis
hostname: redis
image: redis
redis-commander:
container_name: redis-dbms
hostname: redis-commander
image: rediscommander/redis-commander:latest
restart: always
environment:
- REDIS_HOSTS=local:redis:6379
ports:
- "8081:8081"
这是它给我的错误。
docker-compose up --scale redis=3
Creating network "ex2_default" with the default driver
WARNING: The "redis" service is using the custom container name "redis". Docker requires each container to have a unique name. Remove the custom name to scale the service.
Creating redis-dbms ...
Creating redis ... done
Creating redis ...
Creating redis ...
Creating redis-dbms ... done
ERROR: for redis Cannot create container for service redis: Conflict. The container name "/redis" is already in use by container "d4c93ae4ca68da0b6430e5eddc657d9dda0f40002c7a81c89368535df05eae24". You have to remove (or rename) that container to be able to reuse that name.
ERROR: for redis Cannot create container for service redis: Conflict. The container name "/redis" is already in use by container "d4c93ae4ca68da0b6430e5eddc657d9dda0f40002c7a81c89368535df05eae24". You have to remove (or rename) that container to be able to reuse that name.
最佳答案
出现错误的原因如下: 链接:https://docs.docker.com/compose/compose-file/compose-file-v3/#container_name
Because Docker container names must be unique, you cannot scale a service beyond 1 container if you have specified a custom name. Attempting to do so results in an error.
您可以在此处阅读更多内容:https://github.com/docker/compose/issues/3722
关于docker - 使用 Docker Compose 创建同一服务的多个容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70148404/