【发布时间】: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