не могу связать контейнер монго - PullRequest
0 голосов
/ 26 января 2019

У меня есть изображение (gepick:latest) с приложением node, созданным из Dockerfile:

FROM centos:7

# Create app directory
WORKDIR /usr/src/app

RUN curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
RUN yum install -y nodejs
RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
RUN rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
RUN yum install -y yarn
RUN yarn

COPY . .

EXPOSE 8080

CMD [ "yarn", "test-matches-collecting-job"]

Моя цель - запустить тесты в докере.Но для этого требуется mongodb

docker run gepick:latest:

...
Mongoose default connection error: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
...

Я попробовал ссылку mongo:4 контейнер изображений docker run --link 0d24c3a35d5a gepick:latest, но получил ту же ошибку.

1 Ответ

0 голосов
/ 26 января 2019

Когда вы запускаете свой контейнер, используя yaml-файл docker-compose, Docker соединяет контейнеры вместе и позволяет вам запускать контейнер mongo до того, как другие контейнеры, которые полагаются на mongo, будут активны ... попробуйте что-то вроде этого

cat my-docker-compose.yml

version: '3'
services:

  my-gepick:
    image: gepick:latest
    container_name: blah_gepick
    restart: always
    depends_on:
      - loudmongo
    volumes:
      - /cryptdata5/var/log/blobs:/blobs
      - /webapp/enduser/bundle:/tmp
    environment:
      - MONGO_SERVICE_HOST=loudmongo
      - MONGO_SERVICE_PORT=$GKE_MONGO_PORT
      - MONGO_URL=mongodb://loudmongo:$GKE_MONGO_PORT/test
      - METEOR_SETTINGS=${METEOR_SETTINGS}
      - MAIL_URL=smtp://support@${GKE_DOMAIN_NAME}:blah@loudmail:587/
    links:
      - loudmongo
    ports:
     - 127.0.0.1:3000:3000
    working_dir: /tmp
    command: /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf

  loudmongo:
    image: mongo
    container_name: loud_mongo
    restart: always
    ports:
     - 127.0.0.1:$GKE_MONGO_PORT:$GKE_MONGO_PORT
    volumes:
     - /cryptdata7/var/data/db:/data/db

, поэтому ваша последовательность запуска может выглядеть как

docker-compose -f /somedir/my-docker-compose.yml pull 
docker-compose -f /somedir/my-docker-compose.yml up -d 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...