docker - 从通过compose启动的容器访问运行中的容器

标签 docker docker-compose docker-networking docker-network

我有一个在通过标准“docker run ...”命令启动的主机上运行的docker容器。它所运行的网络是默认名称“directory_default”,其中“directory”是当前目录的名称。

我还拥有一个docker compose文件(在同一主机上),该文件包含另一个需要访问已运行容器的容器定义。但是,在运行撰写文件时始终看到错误,指出无法访问网络。

读取Cannot link to a running container started by docker-compose似乎指向一个类似的问题,但是反过来(连接到通过compose启动的正在运行的容器)。

我试过在compose中设置环境变量,并使用--project-name标志来设置网络,但是没有运气。我还尝试使用撰写文件的“网络”部分来定义运行时看到的网络名称:

docker network ls

但是在运行时:
docker-compose up -d

然后给出错误:
ERROR: Service "my_service" uses an undefined network "my_already_existing_network that you see from docker network ls"

这是正在使用的输出/文件(在“test”目录中运行):
docker network ls
NETWORK ID          NAME                  DRIVER              SCOPE
fc4c3de62436        bridge                bridge              local
db6b28f177d0        test_default          bridge              local
5db4787312e5        host                  host                local
64dfb53be850        none                  null                local

如先前所述,从“test”目录通过“docker run ...”启动第一个容器。撰写文件如下:
version: "3"
services:

test_container1:
    networks:
        - test_default 
    image: mytest
    container_name: mytest
    restart: on-failure 
    ports: 
        - "8003:8003"

我也尝试过删除上面的“网络”部分,并使用以下命令调用docker-compose:
--project-name test_default

如撰写文档中所述。我没有使用群体模式。

最佳答案

尝试以下docker-compose :(您需要指定网络已存在)

version: "3"
services:

  test_container1:
      networks:
          - test_default
      image: mytest
      container_name: mytest
      restart: on-failure
      ports:
          - "8003:8003"

networks:
   test_default:
     external: true

关于docker - 从通过compose启动的容器访问运行中的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45183226/

相关文章:

Docker 在拉取镜像层期间永远挂起

docker-compose up 永远挂起。如何调试?

amazon-web-services - 如何在代码中将 nginx 部署到 AWS fargate?

docker - docker-compose中的Docker容器无法通过主机名找到其他容器

docker - 使用唯一的IP地址实例化多个docker-compose管道

docker - 这是在多主机网络上的生产中部署 spring boot cloud netflix 的正确方法吗?

image - 如何自动删除7天前创建的docker镜像?

wordpress - 如何使用 docker-compose 的官方 WordPress 镜像修复 wp-content 的文件权限

python - 使用 docker 时运行 postgres 容器

docker - uvicorn 上的 FastApi 运行良好,但无法与 Docker 和 docker-compose 配合使用