
Phil
14.07.2017
13:34:27
Он не про то, он про директиву в докерфайле. Вроде

Pavel
14.07.2017
13:34:58
это первый случай

James
14.07.2017
14:13:45
ребзя подскажите с проблемой запуска в докере

Google

James
14.07.2017
14:13:48
сделал image
пытаюсь запустить так docker run -v /var/www:/var/www -p 80:80 -t site.loc/dev
получаю ошибочку
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/usr/bin/supervisord\": stat /usr/bin/supervisord: no such file or directory".
этот вот супервизорд где брать?

Alexey
14.07.2017
14:16:46
а ты знаешь, что такое этот супервисорд?

Stephen
14.07.2017
14:18:34
А на кой ляд вообще нужен supervisord в докере? Докер сам все процессы и демоны контролирует

Alexey
14.07.2017
14:19:16
бывает так, что в докере живет не один процесс

James
14.07.2017
14:19:59
я только вчера в докер
поэтому ещё не в курсе что и куда

Aion
14.07.2017
14:20:09

James
14.07.2017
14:20:13
делал по примеру

Alexey
14.07.2017
14:20:25

Google

Stephen
14.07.2017
14:20:31

Alexey
14.07.2017
14:20:35
только иногда это не получается сделать сразу

Aion
14.07.2017
14:20:39
Супервизор - пакет

Alexey
14.07.2017
14:20:44
и приходится както жить

Stephen
14.07.2017
14:20:49

Aion
14.07.2017
14:20:53
Из репки ос его ставь

James
14.07.2017
14:20:56
оо сек

Aion
14.07.2017
14:21:39
Бери руками пиши конфиг

James
14.07.2017
14:21:43
https://pastebin.com/sYWRAQS0

Aion
14.07.2017
14:22:10
Кидай через COPY/ADD в имадж

James
14.07.2017
14:22:30
поставил и запустил
всеравно ошибка

Aion
14.07.2017
14:22:48
Конфиг сделал?

Stephen
14.07.2017
14:23:27
@parrabol а вы просто php-сервер запустить хотите? Так и запускайте его через php -S

James
14.07.2017
14:23:30
ага вон выше показал
я хочу что бы у меня была готовая связка nginx+php+modules+git clone /var/www/
ну и собсно версия пыхи определенная

Aion
14.07.2017
14:24:37
У меня есть такое

Google

Aion
14.07.2017
14:24:45
Но я на конфе

James
14.07.2017
14:25:00
эмм не понял

Aion
14.07.2017
14:25:01
Могу после кинуть пример

James
14.07.2017
14:25:09
ооо
было бы супер

Stephen
14.07.2017
14:25:14
тогда должны быть отдельно контейнеры PHP и Nginx, в одной подсети
Могу пример на docker-compose дать

James
14.07.2017
14:25:34

Aion
14.07.2017
14:25:35
Напомни через 3 часа

James
14.07.2017
14:25:40
ок

Stephen
14.07.2017
14:26:40
https://docs.docker.com/samples/wordpress/ ну, короче здесь раздел про docker-compose
т.е. Если проще, в докере принцип такой: 1 контейнер = 1 процесс. Отдельно Nginx, Fpm, mysql и sftp (если нужен). Их все надо объединить в сеть (docker network) и дать доступ к общим томам. Это все можно сделать вручную, а можно создать docker-compose.yml и в нем всё описать.

Stephen
14.07.2017
14:30:31
https://gist.github.com/berezuev/0475b1fcfc9b9f1d97744686f08cc661 вот пример на одном из моих pet-project.

Aion
14.07.2017
14:33:17

Stephen
14.07.2017
14:34:27

James
14.07.2017
14:36:50
ок буду разбираться
цель такая

Aion
14.07.2017
14:36:55
А файлы хостовой ос менять?

Иван
14.07.2017
14:37:06
Я в .env храню пароли к бд, а конфиги в volume

James
14.07.2017
14:37:08
типа клац и у разраба развернулся дев какого нить сайтика

Google

James
14.07.2017
14:37:24
соотвесно там и мускуль должен быть с влитым дампом

Aion
14.07.2017
14:37:34

Иван
14.07.2017
14:39:55
Но конфиги то не применяются без перезагрузки,а после перезагрузки все что ты поменял затрется

Aion
14.07.2017
14:42:24
Задача запускать один скрипт, получать имаджи и сустемд сервисы с готовыми конфигами

Stephen
14.07.2017
14:43:48
Ну, в nginx я передаю конфиг так: volumes:
- ./.docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
сам конфиг в папке с проектом держу

Иван
14.07.2017
14:46:21
Системд?
Ты имел ввиду контейнеры с готовыми конфигами?

Admin
ERROR: S client not available

Иван
14.07.2017
14:47:14
Вместо системд есть докер демон
А один скрипт это смотри на docker-compose
т.е. Если проще, в докере принцип такой: 1 контейнер = 1 процесс. Отдельно Nginx, Fpm, mysql и sftp (если нужен). Их все надо объединить в сеть (docker network) и дать доступ к общим томам. Это все можно сделать вручную, а можно создать docker-compose.yml и в нем всё описать.
Описываешь сервисы в ямле и docker-compose up --build сбилдит и зарустит все

Aion
14.07.2017
14:52:01
Тот же Конфиг nginx подсасывает переменные из параметров
Компоуз может значения в конфигах менять?

Игорь
14.07.2017
14:53:54
https://github.com/ifree92/wait-for-mysql
Накатал небольшую шнягу
Может кому полезно будет

Google

Игорь
14.07.2017
14:54:27
А то как раз столкнулся с тем что когда сервис запускается а мускул не готов.. Получаем печаль

Aion
14.07.2017
14:55:05
Системд нужен, чтобы выкинуть супервизорд и легко управлять контейнерами как сервисами
Плюс не нужно дресировать админов

James
14.07.2017
14:56:12
а вот можно ли накатывать софт в имедж ансиблом?
ну типа идея такая. берем чистый убунту контейнер и через ансибл тда льем весь нужный софт. и патом запускаем этот контейнер
так мона?

Aion
14.07.2017
14:58:32
А зачем?
Rm контейнер и потом по новой лить?
Проще как я ансиблом билдить имаджи аля сервайсы

Stephen
14.07.2017
15:01:31
https://github.com/ifree92/wait-for-mysql
У нас в Makefile просто это:echo "Initializing Mysql. Please wait..."
until nmap -Pn -p3306 ${MYSQL_IP} | awk "\$1 ~ /3306/ {print \$2}" | grep open; do
sleep 1
done
echo "Done"

James
14.07.2017
15:18:37
блять сложно
не ужели нет простого решения
по сути нужен lamp + клон кода

Alexey
14.07.2017
15:19:18

James
14.07.2017
15:19:26
да мне он и не нужен

Alexey
14.07.2017
15:19:29
ну твою проблему легко решить другими штуками
так а нафига ты страдаешь то

James
14.07.2017
15:19:42
это тупые разрабы не умеют инсталить свой же энв

Alexey
14.07.2017
15:20:06
ну это хуево..

James
14.07.2017
15:20:07
судьба моя такая млять

Alexey
14.07.2017
15:20:18
но я с тупыми не работал, так что не могу поделиться опытом

James
14.07.2017
15:20:21
да и давно хотел в докер понять