George
27.06.2019
15:25:16
Либо! Либо тебе уже нужна не контейнерная виртуализация, а lxc/lxd
Vladislav
27.06.2019
15:44:37
Посоны, type-r FN2 красный нужен кому?
Pter
27.06.2019
15:45:27
Google
Vladislav
27.06.2019
15:46:00
Vadim
27.06.2019
15:47:32
за 220 возьму
Vladislav
27.06.2019
15:56:20
LEXASOFT
27.06.2019
16:33:17
Может на сбер? Разбираться еще в битках
zerc
27.06.2019
19:37:17
Гайз вопрос, собираю через docker-compose,
добавил сервис
db:
image: postgres:11
volumes:
- ./db_init/1_db_init.sql:/docker-entrypoint-initdb.d/1_db_init.sql
- ./postgres-data:/var/lib/postgresql/data
зашел в контейнер, файл внутри есть, но бд не инициализируется
просвятите пожалуйста если на up не происходит сбор контейнера то в какой момент я должен это все инициализировать ? С одной стороны понятно что up только поднимает сервис, но как мне image пересобрать ???
Oleg
27.06.2019
22:06:25
Stanislav
28.06.2019
00:41:55
И дай полный компоуз файл
George
28.06.2019
04:28:18
Nick
28.06.2019
05:01:40
George
28.06.2019
05:02:30
zerc
28.06.2019
07:33:10
Google
zerc
28.06.2019
07:35:13
за пару дней протестировал несколько сборок, постоянно было проблемы с внутренними скриптами докер файла или enrty.
допустим офиц image postgre 10 падал на entry с ошибками на gosu и запуска постгре от рута
если у кого то есть хороший блок для compose postgre с прокидыванием volume и запуском инит скриптов, отблагадарю пиццой
Anton
28.06.2019
08:08:07
Коллеги gecube очень много помогает в чате. Предлагаю в благодарность поднять ему карму на хабре. https://habr.com/ru/users/gecube/
Evgeniy
28.06.2019
09:28:46
Всем привет! а Вы бы не могли подсказать? Эта ошибка
2019/06/28 07:17:31 [error] 8#8: *9 connect() failed (113: No route to host) while connecting to upstream, client: 172.19.0.1, server: hello.dev, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://172.19.0.3:9000", host: "172.19.0.1:8081"
из-за не правильной настройки? При чем если только стоит такой параметр command: docker-php-ext-install mysqli pdo_mysql у php
George
28.06.2019
09:32:10
потому что у тебя почти наверняка php не стартанул
ты тупо перезаписал ТО, что стартует при запуске контейнера
вероятнее всего тебе нужно пересобрать образ и добавить в блок RUN docker-php-ext-install mysqli pdo_mysql
Ivgenich
28.06.2019
09:39:26
ИЛИ сделать docker inspect запущенного контейнера без command и проанализировать в нем cmd и entrypoint и правильно написать command с учетом того, что было забилдено в контейнер.
George
28.06.2019
09:39:49
Evgeniy
28.06.2019
09:42:25
George
28.06.2019
09:42:34
ну да
и собрать его
Evgeniy
28.06.2019
09:44:36
ну да
Спасибо. Я думал прямо из compose можно
А не могли бы подсказать почему такая ошибка? Error response from daemon: the Dockerfile (Dockerfile) cannot be empty?
George
28.06.2019
10:03:17
ну, написано же
Evgeniy
28.06.2019
10:03:39
но он не пустой
George
28.06.2019
10:03:51
а какой?
Evgeniy
28.06.2019
10:04:35
а какой?
FROM php:7.3.6-fpm
MAINTAINER PHPtoday.ru <info@phptoday.ru>
RUN apt-get update && apt-get install -y \
docker-php-ext-install mysqli pdo_mysql \
curl \
wget \
git \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
WORKDIR /var/www
CMD ["php-fpm"]
Google
George
28.06.2019
10:04:47
команда для сборки какая?
Evgeniy
28.06.2019
10:05:16
Ivgenich
28.06.2019
10:16:19
Evgeniy
28.06.2019
10:16:41
Ivgenich
28.06.2019
10:16:47
А ты попробуй.
Вот смотри. У меня есть контейнер с hubot, но я хочу добавить еще команд при старте, если я прописываю их в command в компоузе - я ломаю старт. Что я делаю. Сейчас на примере покажу попробую.
Григорий
28.06.2019
10:19:57
Привет
Подскажите, если ли какой-нибудь гипотетический способ забрать файл из имейджа не собирая контейнер?)
Ivgenich
28.06.2019
10:20:08
Я стартую контейнер и делаю ему docker inspect и вижу следующее.
RUN: [
"/bin/sh",
"-c",
"node -e \"console.log(JSON.stringify('$EXTERNAL_SCRIPTS'.split(',')))\" > external-scripts.json && \tnpm install $(node -e \"console.log('$EXTERNAL_SCRIPTS'.split(',').join(' '))\") && \tbin/hubot -n $BOT_NAME -a rocketchat"
]
Т.е. это команда, чтобы поднялся сам hubot, если я в компоузе напишу command только со своей командой - я сломаю старт бота. Значит надо их объединить в самом компоузе. Т.е. команд будет выглядеть так.
command: [
"/bin/sh",
"-c",
"твоя_команда && node -e \"console.log(JSON.stringify('$$EXTERNAL_SCRIPTS'.split(',')))\" > external-scripts.json && \tnpm install $$(node -e \"console.log('$$EXTERNAL_SCRIPTS'.split(',').join(' '))\") && \tbin/hubot -n $$BOT_NAME -a rocketchat"
]
George
28.06.2019
10:23:33
Ivgenich
28.06.2019
10:23:48
Ну или твоя_команда в конце или как угодно. Не забываем заменить $ на $$ если используются переменные, потому что одинарные попытается обработать сам compose и упадет.
Evgeniy
28.06.2019
10:25:51
George
28.06.2019
10:26:22
написано же
тебе надо доустановить mcrypt - вероятно через апт
https://linuxconfig.org/how-to-install-mcrypt-php-module-on-ubuntu-18-04-linux
Evgeniy
28.06.2019
10:27:58
Ivgenich
28.06.2019
10:27:59
https://www.techrepublic.com/article/how-to-install-mcrypt-for-php-7-2/
Прочитал внимательнее исходную проблему. Не делай как я посоветовал. В данном случае это не правильный подход. Надо править докерфайл и собирать. Это верный путь в данной ситуации.
Google
George
28.06.2019
10:32:42
но требуется быть очень аккуратным в любом случае
Ivgenich
28.06.2019
10:33:23
Ну в данном случае образ лучше пересобрать. Иначе у него при каждом рестарте будут модули доустанавливаться и время отнимать.
George
28.06.2019
10:33:40
согласен
это основной консерн
Maxim
28.06.2019
12:04:14
Ставлю в докерфайле убунту 18 и
python3 \
python3-dev \
python3-pip \
python3-setuptools \ , в pycharm получаю
как так ? питон 2.7 не ставил
George
28.06.2019
12:05:49
так там по дефолту наверняк пихтон2
проверь which python, python -V
Maxim
28.06.2019
12:11:11
George
28.06.2019
12:11:42
опыт не пропьешь (с)
Babenko
28.06.2019
12:12:03
Привет всем! Вопрос на засыпку - куда пихать node_modules, в image или в volume? если эт вдруг разгорится в холивар - прошу прощения, прост мне нужно компетентное мнение)
George
28.06.2019
12:12:17
от ситуации зависит
скорее всего НЕ ТУДА и НЕ ТУДА
а пускай живут на хосте, где сборка проводится
Babenko
28.06.2019
12:13:13
но я ж не буду сборку на продакшне делать, верно?) я просто потом на прод спуллю image с хаба
George
28.06.2019
12:13:43
вариантов много. Опиши как пайплайн сборки у тебя сейчас работает
Babenko
28.06.2019
12:40:06
да на самом деле пайплайна нет, в проекте уже сделано всё не мной и просто спор зашёл на тему куда. челики собирают прод прямо на проде. я б так не делал, но что есть то есть
George
28.06.2019
12:40:22
нет, не надо прод на проде
Google
Alexander
28.06.2019
12:40:55
Всем добрый день!
Тут возник ещё один вопрос: как правильнее накатывать миграции сервака на Node.js без оркестратора при деплое?
Всё крутится на одном сервере, в контейнерах, деплой идёт с помощью Ansible через CI.
Просто не хочется пихать запуск скрипта в CMD докерфайла, а то когда-то читал, что из-за шелл скрипта бывают периодически косяки в контексте обработки процессов
Babenko
28.06.2019
12:41:43
George
28.06.2019
12:45:00
если у тебя всего лишь один инстанс контейнера - ну, ок, засунь все в docker-entrypoint.sh, в котором логически сначала идут миграции, а потом вызов твоего node.js сервера
делов-то
все становится сложнее, если у тебя может быть несколько инстансов - без автоматизированного процесса деплоя тебе не обойтись. Будь то докер-компоуз с хелсчеками, мейкфайл, баш-простыня или плейбук на ансибле
это уже не столь принципиально
Babenko
28.06.2019
12:50:20
Да, спасиб огромное
Alexander
28.06.2019
12:51:50
George
28.06.2019
12:52:05
ну, будут моменты с этим
Alexander
28.06.2019
12:52:10
George
28.06.2019
12:52:26
первый - что тебе хелсчеку придется ставить стартовый интервал, который больше миграций, чтобы они не зафейлились
второй - exit code & pid - скорее всего проблем не вызовут