Nikolay
подскажите, что может быть с контейнером, что его разнесло до 38gb? docker ps -s показывает что он весит 1.6GB
Nikolay
Nikolay
compose файл:
Nikolay
SCRIPT
Timur Timerkhanov, [06.12.18 12:01] в докере - mysql: build: context: ./mysql args: - MYSQL_VERSION=${MYSQL_VERSION} environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - TZ=${WORKSPACE_TIMEZONE} volumes: - ${DATA_PATH_HOST}/mysql:/var/lib/mysql - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d ports: - "${MYSQL_PORT}:3306" networks: - backend Timur Timerkhanov, [06.12.18 12:01] как прописать базу данных что бы все работало Timur Timerkhanov, [06.12.18 12:01] в доке все через :
Рашид
Всем привет! Народ, подскажите пожл что я делаю нетак. Команда: docker run -it --rm -v /c/Users/R/var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT _PASSWORD=1 -p 3306:3306 --name=mysql2 mysql/mysql-server:5.7.24 ответ: [Entrypoint] MySQL Docker Image 5.7.24-1.1.8 [Entrypoint] Starting MySQL 5.7.24-1.1.8 Все , контейнер завершил свою работу, wtf?
Nikolay
это логи
Это как-то можно ограничить? Вес тех трёх volumes из compose файла кстати был всего 150мб. А там была и папка logs.
Anton
читай про синтаксис композ файла
Nikolay
А, ну да, там же есть лимиты на используемые ресурсы. Спасибо
AstraSerg
Подскажите пожалуйста, правильно ли я понимаю, что при использовании docker-compose переменные окружения из .env файла в Dockerfile не получится использовать? Нашёл такой тикет 2-ух летней давности, но похоже воз и ныне там :(
AstraSerg
anybody?
tfhx8
При создании своего образа. Когда внутри ставятся nginx и к примеру php, почему они не стартуют автоматически?
AstraSerg
Автоматически стартует только entrypoint
AstraSerg
Можете прописать туда всё что хотите
tfhx8
такой же метод используют официальные сборки nginx и пхп? Тоесть entrypoint?
tfhx8
А через docker-compose как то можно задавать свой "entrypoint"?
AstraSerg
А через docker-compose как то можно задавать свой "entrypoint"?
Конечно, инструкция так и называется entrypoint https://docs.docker.com/compose/compose-file/#entrypoint
tfhx8
А еще момент. К примеру основная физическая машина ребутнется, если докер сам есть в systemcl enable, то он автоматом запустит образ или контейнер?
tfhx8
и еще читал. Есть в докере штука такая, как балнсировщик. Можно ли с ней сделать так, раскидать докер контейнеры на разные физические машины у которых внутри будет nginx, и таким способом можно не использовать внутренний балансировщик nginx?
AstraSerg
а это restart: always не то?
Оно. Только там есть и другие политики
tfhx8
ну это в докер компосе, в файле, вроде то что нужно)
AstraSerg
Нет, в Dockerfile политики рестартов нет
AstraSerg
Да вы почитайте доки https://docs.docker.com/v17.09/compose/compose-file/ https://docs.docker.com/engine/reference/builder/ Там всё есть, просто, доходчиво и в одном месте
tfhx8
Нет, в Dockerfile политики рестартов нет
попробовал entrypoint так https://pastebin.com/AYymYhuQ Что то не запускается. Везде примеры как прокидывают в гостевую машину sh файл и внутри запускают
AstraSerg
без баша не рабоатет
ну так вы записали, что бы стартовал bash, потом стартовал нжинкс, потом php
AstraSerg
баш запускается и висит, до остального очередь не доходит. Сделайте скрипт с перечнем всех действий и используйте его в качесте энтрипоинта
AstraSerg
и убедитесь, что у вас баш вообще в образе есть, а то в альпайне например ash используется
AstraSerg
вот пример энтрипоинта из официального репозитория php https://github.com/docker-library/php/blob/master/7.3/alpine3.8/fpm/docker-php-entrypoint
Jürgen
без баша не рабоатет
entrypoint: /bin/bash command: "/etc/init.d/nginx start && /etc/init.d/php7.0-fpm start"
tfhx8
с entrypoint нужно обязательно command?
AstraSerg
с entrypoint нужно обязательно command?
не обязательно. Почитайте уже документацию. ТАм же всё написано. Вы же не сможете научиться, если будуте спрашивать каждый шаг
Jürgen
так не пробовал
формат ентрипонт нужно передавать команды, можно и без команд
tfhx8
не обязательно. Почитайте уже документацию. ТАм же всё написано. Вы же не сможете научиться, если будуте спрашивать каждый шаг
смотрел. например тут https://docs.docker.com/v17.09/compose/compose-file/#entrypoint . В доке не показано, что надо использовать опцию command.
Jürgen
только что проверил у себя
Jürgen
entrypoint: - bash - -c - ping 8.8.8.8
tfhx8
entrypoint: - bash - -c - ping 8.8.8.8
в моем случае так? entrypoint: - bash - -c - /etc/init.d/php restart ?
Jürgen
в моем случае так? entrypoint: - bash - -c - /etc/init.d/php restart ?
ну типа того) но я б не стал бы пихать в контейнер инит))
AstraSerg
entrypoint: - bash - -c - ping 8.8.8.8
Ключевая разница - наличие —c в этом случае последующие пунткы рассматриваются как выполняемые в bash-е а не после него
tfhx8
ок, попробую
AstraSerg
почему? А как лучше?
в вашем случае pid 1 передаётся init-у, а предлагается pid 1 присаоить самому php
Jürgen
а ключи баша вызывают неувереность?
Jürgen
это не секурно не разу
tfhx8
это не секурно не разу
как секурно сделать?)
AstraSerg
а что такого существенного именно с pid 1?
процесс с pid 1 это процесс, с кторым общается docker ему сигналы посылаются, он отслеживается и т.п.
AstraSerg
как секурно сделать?)
секурно не получится, пока не освоите систему досконально
tfhx8
через баш скрипте в файле не лучше?
tfhx8
это не секурно не разу
подругому как можно сделать ч тобы при запуске контейнера запускался пхп и nginx?😀
tfhx8
супервизором почему бы не сделать?
всмысле внутри котейнера установить супер визор и чтобы он сам запускал?
tfhx8
s6-svc
это что? Впервые такое вижу
tfhx8
ну как вариант
выглядит как то костыль
Jürgen
выглядит как то костыль
а пихать инит и ентрипоинт колхозить не костыль?
Navern
выглядит как то костыль
Выглядит как нормальное решение
Navern
Дефайн костыль плиз
Navern
Либо делай отдельный контейнер для нджинкса и для пхп
tfhx8
а пихать инит и ентрипоинт колхозить не костыль?
я даже не знаю. Я пока к сожалению не понимаю, почему это выглядит как колхозит)
Jürgen
я даже не знаю. Я пока к сожалению не понимаю, почему это выглядит как колхозит)
во первых инит в контейнере это вообще бред, во вторых запуск от пида 1 это фейл, в третьих пихать все в один контейнер то такое
tfhx8
Либо делай отдельный контейнер для нджинкса и для пхп
можно конечно так, только я не знаю как будет работать мои конфиги, тоесть я все директорию /etct/php через volume передаю и также /etc/nginx
tfhx8
нахрена?
у меня сейчас система работает. Я просто копирнул всю диру и все, чтобы было как на сервере
Jürgen
самое простое пхп вешается на порт и нджинкс просто проксирует по фпм протоколу
Jürgen
деалется за минут так 10 и работает с любым пхп гавнокодом
tfhx8
а зачем так? вообще странная архитектура
про копирнул, имею ввиду,что я стал изучать докер и пока сделал так вот, так как мне показалось это быстрее всего. Тоесть сейчас на сервере все работает без докера итп.