Size: a a a

RU.Docker — Официальное Русское Сообщество

2018 December 13

A

AstraSerg in RU.Docker — Официальное Русское Сообщество
Artur Woskresensky
Всем привет, ребят.
Есть сервис в  compose файле:
  rabbitmq:
   image: rabbitmq:management-alpine
   container_name: rabbit-mq
   expose:
     - "5672"
   ports:
     - 15672:15672
   logging:
     options:
       max-size: "10m"
       max-file: "10"
В другом сервисе в конфигурационном файле написано: rabbitmq.host: rabbitmq
Но во время запуска получаю:
Attempting to connect to: 40c0799adcfa:5672
так у вас порты разные в expose и в ports
источник

AW

Artur Woskresensky in RU.Docker — Официальное Русское Сообщество
AstraSerg
так у вас порты разные в expose и в ports
Вот docker-compose.yml:
version: "3.5"
services:
 rabbitmq:
   image: rabbitmq:management-alpine
   container_name: rabbit-mq
   expose:
     - "5672"
   ports:
     - 15672:15672
   logging:
     options:
       max-size: "10m"
       max-file: "10"
 current-client:
   image: current-client-test-image
   container_name: current-client-test
   expose:
     - "8072"
   depends_on:
     - rabbitmq
Второй порт для management и замапан (странно звучит, но не нашел альтернативу) на хост.
Вот часть application.yml:
spring:
 rabbitmq:
   host: rabbitmq
   username: guest
   password: guest
   port: 5672
   virtual-host: /
источник

A

AstraSerg in RU.Docker — Официальное Русское Сообщество
А пройдёт соединение вот так:
telnet localhost 5672
источник

AW

Artur Woskresensky in RU.Docker — Официальное Русское Сообщество
AstraSerg
А пройдёт соединение вот так:
telnet localhost 5672
С хоста или с контейнера?
источник

A

AstraSerg in RU.Docker — Официальное Русское Сообщество
Artur Woskresensky
С хоста или с контейнера?
на какой ответ вы рассчитваете? :))
источник

AW

Artur Woskresensky in RU.Docker — Официальное Русское Сообщество
AstraSerg
на какой ответ вы рассчитваете? :))
С хоста не думаю, потому что expose только в виртуальную сеть.
источник

AW

Artur Woskresensky in RU.Docker — Официальное Русское Сообщество
Хорошо, сейчас проверю.
источник

A

AstraSerg in RU.Docker — Официальное Русское Сообщество
если с хоста не нужно так и не проверяйте, проверяйте из виртуальной сети. Имхо, проще выполнить команду, чем спрашивать :)
источник

AW

Artur Woskresensky in RU.Docker — Официальное Русское Сообщество
AstraSerg
если с хоста не нужно так и не проверяйте, проверяйте из виртуальной сети. Имхо, проще выполнить команду, чем спрашивать :)
Хорошо.
источник

O

Ochumelec in RU.Docker — Официальное Русское Сообщество
ребят подскажите плиз нужно сделать несколько контейнеров в docker-compose, один с php (уже есть) второй с supervisor+php (для запуска кронов), как это правильно сделать?
источник

O

Ochumelec in RU.Docker — Официальное Русское Сообщество
уже пробовал для этих 2 контейнеров 2 разных Dockerfile указывать, но почему-то если делаю билд в обоих в итоге получается супервизор, а он нужен только в одном из контейнеров, пути к dockerfile проверял
источник

IM

Iurii Medvedev in RU.Docker — Официальное Русское Сообщество
Ochumelec
уже пробовал для этих 2 контейнеров 2 разных Dockerfile указывать, но почему-то если делаю билд в обоих в итоге получается супервизор, а он нужен только в одном из контейнеров, пути к dockerfile проверял
compose покажи
источник

AW

Artur Woskresensky in RU.Docker — Официальное Русское Сообщество
AstraSerg
А пройдёт соединение вот так:
telnet localhost 5672
Изнутри контейнера:
/ # telnet localhost 5672
telnet: can't connect to remote host (127.0.0.1): Connection refused
/ # telnet rabbitmq 5672
telnet: bad address 'rabbitmq'
/ # telnet 172.26.0.2 5672
Connection closed by foreign host
источник

O

Ochumelec in RU.Docker — Официальное Русское Сообщество
Iurii Medvedev
compose покажи
version: '3'

services:


 php7:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: main_php7:v1
   restart: always
   container_name: php7
   env_file: /home/docker/docker-dev/.env
   volumes:
     - ${LOCAL_APP_PATH}:/home/www/code/
   depends_on:
     - mysql_db
     - postgres_db
   environment:
     - APP_ENV=${APP_ENV}
     - MYSQL_HOST=${MYSQL_HOST}
     - MYSQL_PORT=${MYSQL_PORT}
     - MYSQL_USER=${MYSQL_USER}
     - MYSQL_DATABASE=${MYSQL_DATABASE}
     - MYSQL_PASSWORD=${MYSQL_PASSWORD}
     - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
     - POSTGRES_DB=${POSTGRES_DB}
     - POSTGRES_USER=${POSTGRES_USER}
     - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
     - POSTGRES_PORT=${POSTGRES_PORT}
   links:
     - mysql_db:mysql_db
     - postgres_db:postgres_db
   networks:
     - network1

 php5:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: main_php5:v1
   restart: always
   container_name: php5
   env_file: /home/docker/docker-dev/.env
   volumes:
   - ${LOCAL_APP_PATH}:/home/www/code/
   depends_on:
   - mysql_db
   - postgres_db
   environment:
   - APP_ENV=${APP_ENV}
   - MYSQL_HOST=${MYSQL_HOST}
   - MYSQL_PORT=${MYSQL_PORT}
   - MYSQL_USER=${MYSQL_USER}
   - MYSQL_DATABASE=${MYSQL_DATABASE}
   - MYSQL_PASSWORD=${MYSQL_PASSWORD}
   - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
   - POSTGRES_DB=${POSTGRES_DB}
   - POSTGRES_USER=${POSTGRES_USER}
   - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
   - POSTGRES_PORT=${POSTGRES_PORT}
   links:
   - mysql_db:mysql_db
   - postgres_db:postgres_db
   networks:
   - network1

############ WORKERS START
 php5_worker:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: worker_php5:v1
   restart: always
   container_name: php5_worker
   env_file: /home/docker/docker-dev/.env
   volumes:
   - ${LOCAL_APP_PATH}:/home/www/code/
   - ${DOCKER_DEV_PATH}:/etc/supervisor/
   ports:
   - 9101:9001 # Access GUI with http://localhost:9001/
   environment:
   - APP_ENV=${APP_ENV}
   - MYSQL_HOST=${MYSQL_HOST}
   - MYSQL_PORT=${MYSQL_PORT}
   - MYSQL_USER=${MYSQL_USER}
   - MYSQL_DATABASE=${MYSQL_DATABASE}
   - MYSQL_PASSWORD=${MYSQL_PASSWORD}
   - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
   - POSTGRES_DB=${POSTGRES_DB}
   - POSTGRES_USER=${POSTGRES_USER}
   - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
   - POSTGRES_PORT=${POSTGRES_PORT}
   networks:
   - network1

 php7_worker:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: worker_php7:v1
   restart: always
   container_name: php7_worker
   env_file: /home/docker/docker-dev/.env
   volumes:
   - ${LOCAL_APP_PATH}:/home/www/code/
   - ${DOCKER_DEV_PATH}:/etc/supervisor/
   ports:
   - 9102:9001 # Access GUI with http://localhost:9001/
   environment:
   - APP_ENV=${APP_ENV}
   - MYSQL_HOST=${MYSQL_HOST}
   - MYSQL_PORT=${MYSQL_PORT}
   - MYSQL_USER=${MYSQL_USER}
   - MYSQL_DATABASE=${MYSQL_DATABASE}
   - MYSQL_PASSWORD=${MYSQL_PASSWORD}
   - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
   - POSTGRES_DB=${POSTGRES_DB}
   - POSTGRES_USER=${POSTGRES_USER}
   - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
   - POSTGRES_PORT=${POSTGRES_PORT}
   networks:
   - network1
########### WORKERS END


networks:
 network1:
volumes:
 pgdata1:
 mysqldata:
источник

A

AstraSerg in RU.Docker — Официальное Русское Сообщество
Artur Woskresensky
Изнутри контейнера:
/ # telnet localhost 5672
telnet: can't connect to remote host (127.0.0.1): Connection refused
/ # telnet rabbitmq 5672
telnet: bad address 'rabbitmq'
/ # telnet 172.26.0.2 5672
Connection closed by foreign host
так, значит этот контейнер не знает носта с именем rabbitmq, видимо в этом проблема
источник

IM

Iurii Medvedev in RU.Docker — Официальное Русское Сообщество
Ochumelec
version: '3'

services:


 php7:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: main_php7:v1
   restart: always
   container_name: php7
   env_file: /home/docker/docker-dev/.env
   volumes:
     - ${LOCAL_APP_PATH}:/home/www/code/
   depends_on:
     - mysql_db
     - postgres_db
   environment:
     - APP_ENV=${APP_ENV}
     - MYSQL_HOST=${MYSQL_HOST}
     - MYSQL_PORT=${MYSQL_PORT}
     - MYSQL_USER=${MYSQL_USER}
     - MYSQL_DATABASE=${MYSQL_DATABASE}
     - MYSQL_PASSWORD=${MYSQL_PASSWORD}
     - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
     - POSTGRES_DB=${POSTGRES_DB}
     - POSTGRES_USER=${POSTGRES_USER}
     - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
     - POSTGRES_PORT=${POSTGRES_PORT}
   links:
     - mysql_db:mysql_db
     - postgres_db:postgres_db
   networks:
     - network1

 php5:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: main_php5:v1
   restart: always
   container_name: php5
   env_file: /home/docker/docker-dev/.env
   volumes:
   - ${LOCAL_APP_PATH}:/home/www/code/
   depends_on:
   - mysql_db
   - postgres_db
   environment:
   - APP_ENV=${APP_ENV}
   - MYSQL_HOST=${MYSQL_HOST}
   - MYSQL_PORT=${MYSQL_PORT}
   - MYSQL_USER=${MYSQL_USER}
   - MYSQL_DATABASE=${MYSQL_DATABASE}
   - MYSQL_PASSWORD=${MYSQL_PASSWORD}
   - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
   - POSTGRES_DB=${POSTGRES_DB}
   - POSTGRES_USER=${POSTGRES_USER}
   - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
   - POSTGRES_PORT=${POSTGRES_PORT}
   links:
   - mysql_db:mysql_db
   - postgres_db:postgres_db
   networks:
   - network1

############ WORKERS START
 php5_worker:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: worker_php5:v1
   restart: always
   container_name: php5_worker
   env_file: /home/docker/docker-dev/.env
   volumes:
   - ${LOCAL_APP_PATH}:/home/www/code/
   - ${DOCKER_DEV_PATH}:/etc/supervisor/
   ports:
   - 9101:9001 # Access GUI with http://localhost:9001/
   environment:
   - APP_ENV=${APP_ENV}
   - MYSQL_HOST=${MYSQL_HOST}
   - MYSQL_PORT=${MYSQL_PORT}
   - MYSQL_USER=${MYSQL_USER}
   - MYSQL_DATABASE=${MYSQL_DATABASE}
   - MYSQL_PASSWORD=${MYSQL_PASSWORD}
   - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
   - POSTGRES_DB=${POSTGRES_DB}
   - POSTGRES_USER=${POSTGRES_USER}
   - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
   - POSTGRES_PORT=${POSTGRES_PORT}
   networks:
   - network1

 php7_worker:
   build:
     context: .
     dockerfile: ${DOCKER_DEV_PATH}
   image: worker_php7:v1
   restart: always
   container_name: php7_worker
   env_file: /home/docker/docker-dev/.env
   volumes:
   - ${LOCAL_APP_PATH}:/home/www/code/
   - ${DOCKER_DEV_PATH}:/etc/supervisor/
   ports:
   - 9102:9001 # Access GUI with http://localhost:9001/
   environment:
   - APP_ENV=${APP_ENV}
   - MYSQL_HOST=${MYSQL_HOST}
   - MYSQL_PORT=${MYSQL_PORT}
   - MYSQL_USER=${MYSQL_USER}
   - MYSQL_DATABASE=${MYSQL_DATABASE}
   - MYSQL_PASSWORD=${MYSQL_PASSWORD}
   - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
   - POSTGRES_DB=${POSTGRES_DB}
   - POSTGRES_USER=${POSTGRES_USER}
   - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
   - POSTGRES_PORT=${POSTGRES_PORT}
   networks:
   - network1
########### WORKERS END


networks:
 network1:
volumes:
 pgdata1:
 mysqldata:
image: worker_php5:v1 так и должно быть? руками попробуй контейнеры запустить и посмотреть что внутри образа
источник

O

Ochumelec in RU.Docker — Официальное Русское Сообщество
это типа моё название чтоб имедж был разный для php который для веба и пхп который для воркера
источник

O

Ochumelec in RU.Docker — Официальное Русское Сообщество
контейнеры запускал, все запускаются кроме воркеров с supervisor
источник

IM

Iurii Medvedev in RU.Docker — Официальное Русское Сообщество
Ochumelec
это типа моё название чтоб имедж был разный для php который для веба и пхп который для воркера
имя имиджа то разное должно быть если я правильно помню
источник

O

Ochumelec in RU.Docker — Официальное Русское Сообщество
так оно и есть разное для воркеров и для веба
источник