@ru_docker

Страница 539 из 610
Eugene
11.12.2018
12:57:18
докер-композ дергает 2 ямла, на одном все прекрасно, на другом билдить надо и он ругается

Yuriy
11.12.2018
12:58:39
Версия не 18.09 часом?

AstraSerg
11.12.2018
12:59:04
можно ещё под starce запустить strace docker --version но это для сильных духом :)

Google
AstraSerg
11.12.2018
12:59:30
Версия не 18.09 часом?
а что? есть проблемы в ней?

Eugene
11.12.2018
12:59:40
Yuriy
11.12.2018
12:59:57
Был проблем с запуском докере в lxc из-за того что containerd пытался вгрузить ядерный модуль overlay которого не было

Eugene
11.12.2018
15:01:04
Блин, в логах ничего нет (( Есть пайплайн в одной из таксов композом в две команды 2 запуска 2х разных сервисов из одного ямла. Первая команда просто стартует сервис, вторая запускает второй сервис через build.. и вот бблин первай команда проходит а вторая: ..connect to Docker daemon at http+docker://localhost... .как так-то?

Парни, я разобрался, спасибо за участие!. CI_COMMIT_REF_NAME заменил на CI_COMMIT_REF_SLUG (хотя до этого год нормально работало). Docker вообще не причем оказался.

AstraSerg
12.12.2018
05:50:49
Вон оно как! А Вы же говорили, что docker --version тоже ошибку даёт?

Eugene
12.12.2018
05:59:30
Вон оно как! А Вы же говорили, что docker --version тоже ошибку даёт?
Прости, я неверно распарсил твой вопрос. Я подумал, что имеется ввиду «не менялась ли версия» - тупанул

AstraSerg
12.12.2018
06:02:32
А, ясн. Ничего страшного. Просто если бы определили, что версия норм отдается, сразу бы сбросили со счетов проблему самого докер-демона. Так просто дольше получилось.

Eugene
12.12.2018
10:51:19
Ребят, а есть вообще какие-нибудь best practices для докер ноды по разметкам диска? Да и вообще по настройкам? Или кто как?

Артём
12.12.2018
11:05:37
я обычно выделаю для докера отдельный диск, поверх блочного устройства (а не логического диска) натягиваю LVM и монтирую его как /var/lib/docker

Google
User ?
13.12.2018
09:09:37
Привет. У меня есть контейнер, который долго стартует. Подскажите, как мне проверить, что он точно запустился? Использовать HEALTHCHECK?

User ?
13.12.2018
09:12:21
Спасибо

AstraSerg
13.12.2018
09:21:11
Все бы так/такие вопросы задавали....

User ?
13.12.2018
09:23:39
Все бы так/такие вопросы задавали....
Я могу перефразировать. У меня есть кастомный постгрес, он стартует медленно, сервис который от него зависит - отваливается по таймауту. CI ломается, тесты не проходят. Что делать????

User ?
13.12.2018
09:25:10
попробуй wait-for-it.sh
оу, круто, спасибо

Roman
13.12.2018
09:58:17
очень жаль на самом деле, что нужны эти костыли с wait-for-it

AstraSerg
13.12.2018
10:02:08
очень жаль на самом деле, что нужны эти костыли с wait-for-it
вообще, у docker run есть параметр таймаут рестарта --restart=on-failure:10 может его сможете прикрутить

https://docs.docker.com/engine/reference/run/#restart-policies---restart

Roman
13.12.2018
10:05:10
это чуток не то

я уже не помню - давно не смотрел, но там писали, что такое делать не будут вне docker swarm или как оно там зовется сейчас

AstraSerg
13.12.2018
10:18:44
это чуток не то
я понимаю, что не совсем то, но может получится прикрутить. Ведь контейнер падает недождавшись постгреса. Может это падение и будет триггером on-failure для restart

Артём
13.12.2018
10:25:37
по идее если прописать depend_on у контейнера с приложухой

а для постгреса сделать хелсчек, то контейнер с приложением стартанет тогда, когда контейнер с БД будет healthy

но это не точно

User ?
13.12.2018
10:26:10
попробуй wait-for-it.sh
Wait for it рапортует, что все ок, но в постгрю ещё какое-то время подключиться нельзя(

Rustam
13.12.2018
12:11:33
но это не точно
в swarm работать не будет

Google
Rustam
13.12.2018
12:12:16
Wait for it рапортует, что все ок, но в постгрю ещё какое-то время подключиться нельзя(
таймаут или в зависимом от постгри контейнере держать утилитку pg_isready и пользоваться ею

John
13.12.2018
12:16:02
Всем привет, ребят. Есть сервис в 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

John
13.12.2018
12:35:50
Контейнеры подключены к одной сети? Rabbit успешно стартует?
Да, другой сервис находится в том же compose файле и подключен к той же самой сети. Да, rabbit успешно стартует.

John
13.12.2018
13:01:51
так у вас порты разные в 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: /

AstraSerg
13.12.2018
13:05:20
А пройдёт соединение вот так: telnet localhost 5672

John
13.12.2018
13:06:21
AstraSerg
13.12.2018
13:06:52
С хоста или с контейнера?
на какой ответ вы рассчитваете? :))

John
13.12.2018
13:07:47
на какой ответ вы рассчитваете? :))
С хоста не думаю, потому что expose только в виртуальную сеть.

Хорошо, сейчас проверю.

AstraSerg
13.12.2018
13:08:45
если с хоста не нужно так и не проверяйте, проверяйте из виртуальной сети. Имхо, проще выполнить команду, чем спрашивать :)

Kostya
13.12.2018
13:09:34
ребят подскажите плиз нужно сделать несколько контейнеров в docker-compose, один с php (уже есть) второй с supervisor+php (для запуска кронов), как это правильно сделать?

Admin


Kostya
13.12.2018
13:11:36
уже пробовал для этих 2 контейнеров 2 разных Dockerfile указывать, но почему-то если делаю билд в обоих в итоге получается супервизор, а он нужен только в одном из контейнеров, пути к dockerfile проверял

John
13.12.2018
13:23:56
А пройдёт соединение вот так: 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

Kostya
13.12.2018
13:25:50
compose покажи
version: '3' services: php7: build: context: ./php7 dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_php7 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: ./php5 dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_php5 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: ./php5_worker dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_worker_php5 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}/supervisor:/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: ./php7_worker dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_worker_php7 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}/supervisor:/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:

AstraSerg
13.12.2018
13:26:53
Google
Iurii
13.12.2018
13:27:47
version: '3' services: php7: build: context: ./php7 dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_php7 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: ./php5 dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_php5 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: ./php5_worker dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_worker_php5 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}/supervisor:/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: ./php7_worker dockerfile: ${DOCKER_DEV_PATH}/Dockerfile_worker_php7 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}/supervisor:/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 так и должно быть? руками попробуй контейнеры запустить и посмотреть что внутри образа

Kostya
13.12.2018
13:28:41
это типа моё название чтоб имедж был разный для php который для веба и пхп который для воркера

контейнеры запускал, все запускаются кроме воркеров с supervisor

Iurii
13.12.2018
13:29:44
Kostya
13.12.2018
13:30:41
так оно и есть разное для воркеров и для веба

Iurii
13.12.2018
13:33:15
так оно и есть разное для воркеров и для веба
эта переменная зачем ${DOCKER_DEV_PATH}?

Kostya
13.12.2018
13:34:05
это папка со всеми файлами типа docker-compose.yml Dockerfile итд, думал что нужен абсолютный путь может там, поэтому через переменную его указал

Kostya
13.12.2018
13:35:21
в .env

Iurii
13.12.2018
13:36:59
в .env
я не думая что при билде он ее подставит, честно не помню

Kostya
13.12.2018
13:37:26
хм, тоесть надо указать полный путь?

Iurii
13.12.2018
13:38:45
хм, тоесть надо указать полный путь?
ты можешь попробовать и отдносительные пути к примеру context: ./worker dockerfile: Dockerfile_worker_php5

Kostya
13.12.2018
13:39:23
и мне надо получается ложить dockerfile в папку /worker?

Iurii
13.12.2018
13:40:18
и мне надо получается ложить dockerfile в папку /worker?
ну или где там они у тебя лежат, поменяй на свои пути

Либо еще проверь докер файлы мало ли что вкралось

Dennis
13.12.2018
13:44:36
Коллеги, кто-нибудь сдавал экзамен DCA?

Kostya
13.12.2018
14:00:39
Либо еще проверь докер файлы мало ли что вкралось
может быть такое что docker-compose не видит альтернативный Dockerfile? потому что там указана установка supervisor, но при запуске пишет /usr/local/bin/docker-php-entrypoint: 9: exec: /usr/bin/supervisord: not found

потому что обычный пых работает, а воркеровский нет(

Страница 539 из 610