Aion
У меня есть такое
Aion
Но я на конфе
J
эмм не понял
Aion
Могу после кинуть пример
J
ооо
J
было бы супер
Alexey
тогда должны быть отдельно контейнеры PHP и Nginx, в одной подсети
Alexey
Могу пример на docker-compose дать
Aion
Напомни через 3 часа
J
ок
Alexey
https://docs.docker.com/samples/wordpress/ ну, короче здесь раздел про docker-compose
Alexey
т.е. Если проще, в докере принцип такой: 1 контейнер = 1 процесс. Отдельно Nginx, Fpm, mysql и sftp (если нужен). Их все надо объединить в сеть (docker network) и дать доступ к общим томам. Это все можно сделать вручную, а можно создать docker-compose.yml и в нем всё описать.
Alexey
https://gist.github.com/berezuev/0475b1fcfc9b9f1d97744686f08cc661 вот пример на одном из моих pet-project.
Alexey
Кстати, а можно конфиги из compose менять?
создай .env, подключай его в контейнер и в нем меняй
J
ок буду разбираться
J
цель такая
Aion
А файлы хостовой ос менять?
Ivan
Я в .env храню пароли к бд, а конфиги в volume
J
типа клац и у разраба развернулся дев какого нить сайтика
J
соотвесно там и мускуль должен быть с влитым дампом
Ivan
А когда еще нет volume
Не понятна задача, можно docker exec -it containerne bash и менять что хочешь
Ivan
Но конфиги то не применяются без перезагрузки,а после перезагрузки все что ты поменял затрется
Aion
Задача запускать один скрипт, получать имаджи и сустемд сервисы с готовыми конфигами
Alexey
Ну, в nginx я передаю конфиг так: volumes: - ./.docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
Alexey
сам конфиг в папке с проектом держу
Ivan
Системд?
Ivan
Ты имел ввиду контейнеры с готовыми конфигами?
Ivan
Вместо системд есть докер демон
Ivan
А один скрипт это смотри на docker-compose
Ivan
т.е. Если проще, в докере принцип такой: 1 контейнер = 1 процесс. Отдельно Nginx, Fpm, mysql и sftp (если нужен). Их все надо объединить в сеть (docker network) и дать доступ к общим томам. Это все можно сделать вручную, а можно создать docker-compose.yml и в нем всё описать.
Ivan
Описываешь сервисы в ямле и docker-compose up --build сбилдит и зарустит все
Aion
Тот же Конфиг nginx подсасывает переменные из параметров
Aion
Компоуз может значения в конфигах менять?
Ihor
https://github.com/ifree92/wait-for-mysql
Ihor
Накатал небольшую шнягу
Ihor
Может кому полезно будет
Ihor
А то как раз столкнулся с тем что когда сервис запускается а мускул не готов.. Получаем печаль
Aion
Системд нужен, чтобы выкинуть супервизорд и легко управлять контейнерами как сервисами
Aion
Плюс не нужно дресировать админов
J
а вот можно ли накатывать софт в имедж ансиблом?
J
ну типа идея такая. берем чистый убунту контейнер и через ансибл тда льем весь нужный софт. и патом запускаем этот контейнер
J
так мона?
Aion
А зачем?
Aion
Rm контейнер и потом по новой лить?
Aion
Проще как я ансиблом билдить имаджи аля сервайсы
Alexey
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"
J
блять сложно
J
не ужели нет простого решения
J
по сути нужен lamp + клон кода
Alexey
по сути нужен lamp + клон кода
так если ты не готов страдать, не юзай ты докер :)
J
да мне он и не нужен
Alexey
ну твою проблему легко решить другими штуками
Alexey
так а нафига ты страдаешь то
J
это тупые разрабы не умеют инсталить свой же энв
Alexey
ну это хуево..
J
судьба моя такая млять
Alexey
но я с тупыми не работал, так что не могу поделиться опытом
J
да и давно хотел в докер понять
Aion
J
к тому что мне нихуя не понятно
Aion
Хотел совокупляться- Только впуть
J
вот я нашел похоже то что мне нужно
Aion
Открой документы и кури ее содержимое
J
но блять оно не ставится
J
https://github.com/vasansr/docker-ubuntu-magento-sample
J
да тут эти говорят давай быстрее делай нам эту штуку
Aion
Что это?
Aion
Открой доку
J
вот пытаюсь прогнать это
J
docker run -ti —name magento-run \ —link mysql-run:db \ —publish 80:80 \ —env "MYSQL_USER=root" —env "MYSQL_PASSWORD=password" \ —env "MYSQL_DATABASE=magento" \ vasansr/ubuntu-magento-sample
J
и получаю блять ошибку
J
docker: Error response from daemon: Could not get container for mysql-run.
Aion
Не бери готовые образа
Alf 🙀
ЗАКОНОМЕРНО
Aion
Собирай свои