Не удается подключиться к связанному контейнеру в той же сети Docker - PullRequest
0 голосов
/ 27 августа 2018

Я запустил две службы Docker в файле docker-compose в сети, которую я ранее создал:

version: '3'
services:

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

  networks:
    mynetwork:

Это Dockerfile API (NodeJS):

FROM node

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

RUN npm install

CMD npm start

Затем я запускаю другой контейнер (nginx со статическим веб-приложением) в той же сети (mynetwork), связанный с api.

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

и Dockerfile (NGINX с приложением React):

FROM nginx:alpine

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

Но он не может подключиться к api. Когда я sh в контейнере моего веб-приложения и пинг до api, я получаю это:

$ ping api
$ ping: bad address 'api'

Чего мне не хватает?

1 Ответ

0 голосов
/ 27 августа 2018

Решено! Файл docker-compose был плохо настроен. mynetwork уже существует, поэтому мне нужно использовать эту конфигурацию:

networks:
  default:
    external:
      name: mynetwork

вместо:

  networks:
    mynetwork:

И удалить networks ключ из заявленных сервисов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...