【问题标题】:Can't connect to linked container in the same Docker network无法连接到同一 Docker 网络中的链接容器
【发布时间】:2018-08-28 04:09:51
【问题描述】:

我在我之前创建的网络中的 docker-compose 文件中运行了两个 Docker 服务:

version: '3'
services:

  api:
    container_name: api
    //blah blah
    networks:
    - mynetwork
    build:
      context: .
    ports:
    - 8080:8080 

  networks:
    mynetwork:

这是 api 的 Dockerfile (NodeJS):

FROM node

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app

RUN npm install

CMD npm start

然后,我在同一个网络 (mynetwork) 中运行另一个容器(带有静态 webapp 的 nginx),与 api 链接。

docker run --rm --net=mynetwork --link api:api -p 80:80 myimage

和 Dockerfile(带有 React 应用程序的 NGINX):

FROM nginx:alpine

COPY ./build /usr/share/nginx/html/

但它无法连接到api。当我在我的 webapp 的容器中 sh 并 ping 到 api 时,我得到了这个:

$ ping api
$ ping: bad address 'api'

我错过了什么?

【问题讨论】:

  • 您能在 docker-compose.yml 中填写您的api 服务条目吗?内容很重要。包含api 服务的 Dockerfile 也是有益的。
  • @bluescores 已编辑!

标签: docker docker-compose


【解决方案1】:

解决了! docker-compose 文件配置错误。 mynetwork已经存在所以我需要使用这个配置:

networks:
  default:
    external:
      name: mynetwork

代替:

  networks:
    mynetwork:

并从声明的服务中删除 networks 键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 2020-12-17
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多