Назад | Перейти на главную страницу

стек докеров не подключается ни к одному контейнеру

Я слежу этот учебник, который использует этот репозиторий.

и только что сбежал docker stack deploy --compose-file docker-stack.yml vote.

Я получаю вывод, в котором говорится, что контейнеры запущены:

cchilders:~/tutorials/docker/self-paced-training-beginner-linux-containers/example-voting-app (master) 
$ docker stack services vote
ID            NAME             MODE        REPLICAS  IMAGE
27yqy6x84gyk  vote_visualizer  replicated  1/1       manomarks/visualizer:latest
ism6o6nsn9or  vote_db          replicated  1/1       postgres:9.4
lcklesojqejm  vote_result      replicated  2/2       dockersamples/examplevotingapp_result:before
p0c6q08t8xpo  vote_worker      replicated  1/1       dockersamples/examplevotingapp_worker:latest
we85p3f2fx2z  vote_redis       replicated  2/2       redis:alpine
zv145asbefcu  vote_vote        replicated  2/2       dockersamples/examplevotingapp_vote:before

В руководстве говорится, что теперь вы можете использовать порты 5000, 5001 и т. Д., Но даже если мои контейнеры работают в стеке, все они терпят неудачу. я получил

This site can’t be reached

localhost refused to connect.
Search Google for localhost 5001
ERR_CONNECTION_REFUSED

в Chrome при попытке открыть их как страницу, например localhost:5000

Они предлагают вам использовать файл

version: "3"
services:

  redis:
    image: redis:alpine
    ports:
      - "6379"
    networks:
      - frontend
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  db:
    image: postgres:9.4
    volumes:
      - db-data:/var/lib/postgresql/data
    networks:
      - backend
    deploy:
      placement:
        constraints: [node.role == manager]
  vote:
    image: dockersamples/examplevotingapp_vote:before
    ports:
      - 5000:80
    networks:
      - frontend
    depends_on:
      - redis
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
      restart_policy:
        condition: on-failure
  result:
    image: dockersamples/examplevotingapp_result:before
    ports:
      - 5001:80
    networks:
      - backend
    depends_on:
      - db
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure

  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 1
      labels: [APP=VOTING]
      restart_policy:
        condition: on-failure
        delay: 10s
        max_attempts: 3
        window: 120s

  visualizer:
    image: manomarks/visualizer
    ports:
      - "8080:8080"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"

networks:
  frontend:
  backend:

volumes:
  db-data:

Единственные шаги были

docker swarm init --advertise-addr $(docker-machine ip)
docker stack deploy --compose-file docker-stack.yml vote

из example-voting-app каталог, где docker-stack.yml проводится

Почему эти порты не открывают веб-страницу, если служба vote это работает? Спасибо

Когда мастер клонируется и docker-compose up работает result контейнер не может быть построен:

Building result
Step 1/11 : FROM node:5.11.0-slim
 ---> cb888ea932ad
Step 2/11 : WORKDIR /app
 ---> Using cache
 ---> d6501817bc62
Step 3/11 : RUN npm install -g nodemon
 ---> Using cache
 ---> 33415c41649c
Step 4/11 : ADD package.json /app/package.json
 ---> Using cache
 ---> a1cf6be1ea33
Step 5/11 : RUN npm config set registry http://registry.npmjs.org
 ---> Using cache
 ---> 4d1f7b8fdd8b
Step 6/11 : RUN npm install && npm ls
 ---> Using cache
 ---> c57c08940ae2
Step 7/11 : RUN mv /app/node_modules /node_modules
 ---> Running in 0f53a2cdd8e4
mv: cannot remove '/app/node_modules/.bin/mime': No such file or directory
mv: cannot remove '/app/node_modules/.bin/semver': No such file or directory
mv: cannot remove '/app/node_modules/accepts/HISTORY.md': No such file or directory
mv: cannot remove '/app/node_modules/accepts/LICENSE': No such file or directory
mv: cannot remove '/app/node_modules/accepts/README.md': No such file or directory
mv: cannot remove '/app/node_modules/accepts/index.js': No such file or directory
mv: cannot remove '/app/node_modules/accepts/package.json': No such file or directory
mv: cannot remove '/app/node_modules/after/.npmignore': No such file or directory
mv: cannot remove '/app/node_modules/after/.travis.yml': No such file or directory
mv: cannot remove '/app/node_modules/after/LICENCE': No such file or directory
mv: cannot remove '/app/node_modules/after/README.md': No such file or directory

Когда этот контейнер не может быть запущен, порт 5000 не будет слушать.

Вопрос был создан для решения этой проблемы.