ikasymov
- DB_HOST=db вот сюда не приходит хост я так понимаю?
ikasymov
все молчат))
Bohdan
выполни docker ps
Bohdan
и узнай название контейнера с базой после этого docker inspect <container>
Bohdan
и там смотри секцию Env
ikasymov
"DB_HOST=db",
Bohdan
docker-compose exec web sh -c "echo $DB_HOST"
Bohdan
ой, имя другое, исправил
ikasymov
пусто
Bohdan
а остальные env переменные?
Bohdan
и до этого работало все ок, так?
ikasymov
там все порядке
ikasymov
ага
Bohdan
тогда я тут самоустраняюсь, к сожалению проблема, видимо, с сетью, а я у меня одну дефолтную юзаю
ikasymov
docker-compose exec web sh -c "echo $DB_HOST"
вот это вообще ничего не выводит и других переменных
Bohdan
хм, секунду
Bohdan
ладно, тут сдаюсь с проверкой я явно ввел в заблуждение, а вот где - сам пока понять не могу
ikasymov
пока убрал нетворги
ikasymov
все работает
ikasymov
че странное я в .env указал переменную NODE_ENV=production но в docker inspect он пустой
Sergey
Подскажите для HEALTHCHECK ответ должен быть в каком то определнном формате или просто код 200 ОК?
bazzilic
Healthcheck вроде exit code проверяет, не?
Bohdan
именно так, только exit коды
Bohdan
0 или 1
ikasymov
есть Dockerfile в котором я делаю COPY и есть volumes в docker-compose в котором делаю тоже самое, в чем разница?
Ivan
ну например, что COPY сохраняется в image, который билдится, а volumes переподключаются при каждом пересоздании контейнера.
Ivan
что значит переподключается?
https://docs.docker.com/storage/volumes/
ikasymov
https://docs.docker.com/storage/volumes/
грубо говоря он не хранит сами файлы там а просто как ссылка на саму директорию?
Ivan
я не знаю подробностей как он переносит туда файлы, но думаю, что делает ещё один слой для каждого volume при создании контейнера
ikasymov
что значит слой?
Ivan
https://docs.docker.com/storage/storagedriver/overlayfs-driver/#how-the-overlay-driver-works
ikasymov
https://docs.docker.com/storage/storagedriver/overlayfs-driver/#how-the-overlay-driver-works
получается в принципе я могу не делать COPY на докерфайле
ikasymov
а сразу на docker-compose
ikasymov
или docker-compose берет файлы не с хоста а с image?
Ivan
нет, compose берёт файлы с хоста, в image никто не лезет
Ivan
иногда файл нужен для билда image
ikasymov
иногда файл нужен для билда image
volumes: - ./:/usr/src/app он в /var/lib/docker/volumes создаст volume?
Ivan
Нет, будет ошибка синтаксиса. И нет, не создаст, он будет использовать текущий каталог. Кстати, я скорее всего был не прав насчёт нового слоя. Вроде мне удалвалось в рантайме менять файл на хостовой ФС и он уже был в контейнере. Хотя может меня плющит к вечеру.
Ivan
volumes: - ./:/usr/src/app он в /var/lib/docker/volumes создаст volume?
Ты можешь сам попробовать запустить такой сервис, зачем спрашивать, если я могу врать)
ikasymov
просто проверил уже не создает он ничего
ikasymov
он просто в рантайме берет напрямую с хоста кажется
Bohdan
copy добавляет файлы с хоста в образ volume связывает файлы хоста и контейнера контейнер - это то, что в рантайме образ - по аналогии это то, что в компайлтайме
Nikita
а как по докер контейнерам распределяются ресурсы сервера? или как они вообще с ними связаны? если на сервере 2 гиг оперативки, и там с десяток контейнеров, то как понять кто сколько использует?
Bohdan
а зачем добавлять файл в образ? если можно сразу в контейнер?
потому, что тебе не всегда нужна возможность заменить что - то в образе ну и опять - таки системные файлы всякие и тд и тп - ты же не будешь их вольюмом монтировать
Anonymous
Парни вопрос; сижу читаю теорию и задался вопросом а docker уже поддерживает cgroup v2?
Anonymous
Ну вот почему же. Вот на 3 Сообщения выше вопрос Никиты
Anonymous
А ответ в теории ) я пока не протыкал но ему никто не мешает посмотреть что там в cgroups
Anonymous
https://habr.com/company/selectel/blog/303190/
a1eXei
всем утра) можете напомнить, как посмотреть dockerfile в образе, если там нет вкладки или после скачивания можно как то его увидеть? например, вот этот образ https://hub.docker.com/r/tutum/lamp/
Владислав
https://github.com/tutumcloud/lamp/tree/master
Владимир
docker inspect container_id
Владислав
такие вещи проще через docker-compose делать, не?
Владислав
не зря, видимо, помечено как deprecated
Владимир
Владислав
не
Владислав
собирать php + mysql
Владислав
какие? читать докерфайл?
кстати, как инспект поможет узреть исходник докерфайла?
a1eXei
спасибо всем, просто на базе этого образа собирается другой образ, вот и хотел посмотреть что в нём ставится и собрать свой образ с нужными сервисами через docker-compose
Владимир
кстати, как инспект поможет узреть исходник докерфайла?
полностью не поможет, но покажет как собирался, команды
Владислав
а, понял. анализировать и восстанавливать картину самому.
Владимир
именно так
Владимир
есть разные более сложные варианты, но ничего толкового я не находил
Sun
полностью не поможет, но покажет как собирался, команды
Не надо несколько сервисов в один контейнер — это порочная практика
Grigorii
скажите, какое заклинание нужно докеру сказать, чтоб он перестал в мой айпитейблес со своими правилами лезть??
Sun
http://bfy.tw/IgQu
Grigorii
да, я добавлял в daemon.json, все равно модицифировало. буду смотреть
Sun
К тому что не надо несколько сервисов в один контейнер
Sergey
services: minio1: image: minio/minio:RELEASE.2018-06-09T03-43-35Z volumes: - data1:/data ports: - "9001:9000" environment: MINIO_ACCESS_KEY: minio MINIO_SECRET_KEY: minio123 # command: server http://minio1/data http://minio2/data http://minio3/data http://minio4/data command: server http://minio1/data volumes: data1: driver: host driver_opts: source: /home/sat/minio-test/volumes/data1 Ребят как правильно ссылки на тома описывать? Дока в подробности не сильна
Sergey
я объявил проброс томов для сервиса и хочу в конце композа указать где том лежит
Anonymous
Парни вопрос, с утра что то не догоню. Есть самописной приложение, которое хочу убрать в докер, чтобы разрабы могли сами поднимать его. Но конфиг его при этом могли править. То есть по уму через volume оставлять в хвостовой системе. Вопрос как идеологически правильно. Чтобы у разрабов работала без гемороя, типа docker run, ведь ложить конфиг внутрь контейнера не вариант
Bohdan
для разработки - вольюмы, для деплоя - зависит от потребностей
Anonymous
Просто мне то антиблом не проблема поднять контейнер и положить конфиг