LINUX.ORG.RU
ФорумAdmin

Docker Compose 2 и Docker Compose 3 работа с сетью

 ,


0

1

Доброй ночи!

Подскажите, пожалуйста, уже неделю бьюсь с такой проблемой:

Запускаю тестовые контейнеры dockercloud/hello-world и dockercloud-haproxy, в качестве балансера.

Вариант файла docker-compose v.2 (все работает отлично):

version: '2'
services:
  web:
    image: dockercloud/hello-world
  lb:
    image: dockercloud/haproxy
    links:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80


Все работает, балансировка проходит.

Переделываю данный файл на версию Docker Compose v3, и все, не работает. Нужные порты открыты, но при заходе на ip-адрес, ничего не открывается.

version: '3'
services:
  helloworld:
    image: dockercloud/hello-world
    ports:
      - 80
    networks:
      - web

  balancer:
    image: dockercloud/haproxy
    depends_on:
      - helloworld
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80
      - 1936:1936

    networks:
      - web

networks:
  web:



порты открыты, но не работает(( Подскажите, как исправить под 3-ю версию. Заранее спасибо!




Ответ на: комментарий от Fess88

это тебе кто рассказал, пасаны за гаражами?

Between versions 2.x and 3.x, the structure of the Compose file is the same, but several options have been removed:

volume_driver: Instead of setting the volume driver on the service, define a volume using the top-level volumes option and specify the driver there.

version: «3»
services:
  db:
    image: postgres
    volumes:
      - data:/var/lib/postgresql/data
volumes:
  data:
    driver: mydriver
volumes_from: To share a volume between services, define it using the top-level volumes option and reference it from each service that shares it using the service-level volumes option.

cpu_shares, cpu_quota, cpuset, mem_limit, memswap_limit: These have been replaced by the resources key under deploy. Note that deploy configuration only takes effect when using docker stack deploy, and is ignored by docker-compose.

extends: This option has been removed for version: «3.x» Compose files. (For more information, please see Extending services.)
group_add: This option has been removed for version: «3.x» Compose files.
pids_limit: This option has not been introduced in version: «3.x» Compose files.
link_local_ips in networks: This option has not been introduced in version: «3.x» Compose files.
anonymous
()

а расскажи, что по-твоему, должен делать вот этот кусок и за каким хреном ты его добавил?

  helloworld:
    image: dockercloud/hello-world
    ports:
      - 80
anonymous
()
Ответ на: комментарий от anonymous

Скачать образ Dockercloud/helloworld, и определить порт, на котором он будет работать, внутри контейнера.

Fess88
() автор топика
Ответ на: комментарий от Fess88

определить порт, на котором он будет работать, внутри контейнера.

а теперь RTFM:

ports
Expose ports.

SHORT SYNTAX

Either specify both ports (HOST:CONTAINER), or just the container port (a random host port will be chosen).

где тут написано «внутри контейнера»? тут написано что ты, за каким-то хреном, выставил 80 порт контейнера в рандомный порт хоста.

anonymous
()
Ответ на: комментарий от anonymous

Если убрать директиву ports, все равно не работает.

вот вывод docker ps

 docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                 NAMES
71bebb07173a        dockercloud/haproxy       "/sbin/tini -- doc..."   13 hours ago        Up 5 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:1936->1936/tcp, 443/tcp   bin_balancer_1
d54db02db95f        dockercloud/hello-world   "/bin/sh -c /run.sh"     13 hours ago        Up 6 seconds        80/tcp                                                bin_helloworld_1

Fess88
() автор топика
Ответ на: комментарий от Fess88

а так с чего ему работать. окей, ты убрал лишнее, но где то, что ты должен был сделать, чтобы запустить haproxy в swarm mode? где твои SERVICE_PORTS, где node.role, где вообще всё блин? как телепаты должны догадываться, какой кусок мануала ты не прочитал, блин?

anonymous
()
Ответ на: комментарий от anonymous

Вам бы не помешало быть повоспитанней. Не нужно транслировать свои внутренние проблемы на людей.

ipeacocks ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.