Mou*_*sse 3 docker docker-compose
到目前为止,我有一组使用docker-compose up -d非常基本的 docker 运行
我想运行我的项目的多个实例,并且我已经阅读了这个 Run multiple docker compose
现在,当运行docker-compose up -p PRNAME -dcompose 时,不会将项目名称预先添加到容器中,prname_container1并且我收到以下错误:
ERROR: for container1 Cannot create container for service service1: Conflict. The container name "/container1" is already in use by container "f7aeb2ef782556ae5b0". You have to remove (or rename) that container to be able to reuse that name.
Run Code Online (Sandbox Code Playgroud)
我可能在这里遗漏了一些东西。
我的 docker-compose.yml 的一部分看起来像
services:
service1:
image: "${PROJECT_REPO}:image"
container_name: "container1"
ports:
- 443:443
- 8000:80
networks:
- db
- proxy
- oauth
depends_on:
- db
Run Code Online (Sandbox Code Playgroud)
当您container_name:在docker-compose.yml文件中明确设置时,容器名称将与您指定的完全相同;Docker Compose 不会向其添加每个目录的前缀。
通常这对您来说根本无关紧要,并且可以安全地删除container_name:. 您仍然可以使用其他容器的服务名称docker-compose.yml作为主机名访问其他容器,并且docker-composeCLI 为管理命令提供了包装器,这些命令docker-compose stop将作用于正确的容器。
你也会遇到麻烦,ports:这里没有一个明确的解决方案。只有一个容器或进程可以绑定到主机上的特定端口。你可以去掉 中的第一个端口号ports:,Docker 会为你选择一个端口
ports:
- '80'
- '443'
Run Code Online (Sandbox Code Playgroud)
但是接下来需要手动查找对应的主机端口号
docker-compose port service1 80
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |