@docker_ru

Страница 659 из 1375
NB
24.06.2018
10:11:22
правильно хранение. привязка к дефолтному компорузу
дак волюм подбросьте для баз, чтобы базы хранились не в контейнерах

где то вы кидали строчку, с виду правильно было

Vitalii
24.06.2018
10:11:45
ок

Google
NB
24.06.2018
10:12:08
а с паролем пытать мускульный контейнер

Vitalii
24.06.2018
10:12:19
получается я пробросил вольюм. ив ся инфа в этих папках будет синхронизировтаься?

NB
24.06.2018
10:12:19
читать доку, пробовать другие пароли

Vitalii
24.06.2018
10:12:22
это так грубо

NB
24.06.2018
10:12:42
в dbdata

Subb98
24.06.2018
10:13:00
получается я пробросил вольюм. ив ся инфа в этих папках будет синхронизировтаься?
там не синхронизация, там просто докер будет читать/писать в ваш волум

NB
24.06.2018
10:13:14
правда с относительными путями лично меня докер послал

Vitalii
24.06.2018
10:13:30
вольюм это именно внешний редирект?

NB
24.06.2018
10:13:32
лучше что-то то типа /srv/proj_01/dbdata

Subb98
24.06.2018
10:13:55
вольюм это именно внешний редирект?
это аттач к контейнеру конкретного раздела

Vitalii
24.06.2018
10:13:57
внутрь COPY?

ага...благодарю...буду копать

Google
NB
24.06.2018
10:14:39
волюм это как ярлык или симлинк к вашему диску

Vitalii
24.06.2018
10:14:55
@NVBulashev @Subb98 thx

Павел
24.06.2018
17:44:30
Привет парни. Вопрос который меня давно волнует, можно както сделать псевдо dns для хоста? те хочу по имени контейнера получать его ip я понимаю, можно все сделать баш скриптом, но как бы да

Дмитрий
24.06.2018
17:47:31
С хост машины типа?

С хост машины все контейнеры это локалхост

Павел
24.06.2018
17:51:25
Павел
24.06.2018
17:54:21
Что мешает записать в hosts адрес и имя машины.
то что может измениться это самый ip адресс

я так к бд через тулзу подключаюсь, то .3 то .4 в конце

Анатолий
24.06.2018
17:54:52
то что может измениться это самый ip адресс
Адрес ведь можно задать статический самому контейнеру изначально

Павел
24.06.2018
17:56:16
да, это вариант. правда вручную будет нужно создавать сеть

но как вариант

Анатолий
24.06.2018
17:56:19
через опцию --ip <ipaddress>

можно создать бридж docker network create --driver=bridge --subnet="172.18.0.0/24" --gateway="172.18.0.1" -o "com.docker.network.bridge.name=br1" br1 далее уже в эту сеть контейнеры docker create --restart=always --net br1 --ip 172.18.0.3 --name test

вериантов вообщем много

задать контейнеру хостнейм а на хост машине можно установить к примеру dnsmasq и там описать сеть 172.18.0.0/24 тогда в arp табличке будут и контейнеры присудствовать и можно пинговать их по имени уже как вариант.

Yekit
25.06.2018
06:37:32
всё-таки, получилось решить задачу вот таким образом: services: app: depends_on: - db env_file: .env environment: - POSTGRES_HOST=db db: env_file: .env если кто знает более изящное решение - буду рад узнать его тоже.
Удалите env_file. Он здесь не нужен, т.к. лежит в директории с .yml. Также обязательно в environment прописывайте параметры указанные .env, так как автоматически они в контейнер не прокидываются.

Subb98
25.06.2018
06:38:52
тогда в чём смысл .env файла, если нужно прописывать переменные в environment?

это приведёт к дублированию кода, от которого я хочу избавиться.

Bohdan
25.06.2018
06:42:18
суть env файла - в том, чтобы предоставить переменные окружения в виде файла, что для разработки удобнее

Google
Bohdan
25.06.2018
06:42:42
а переменных в окружении может быть гораздо больше, и прокидывать их все в контейнер - зло

Yekit
25.06.2018
06:43:32
тогда в чём смысл .env файла, если нужно прописывать переменные в environment?
Можно для каждого сервиса сделать отдельную папку, положить туда докерфайл и .env для этого сервиса и подключить в докер композе

Subb98
25.06.2018
06:43:43
и прокидывать их все в контейнер - зло я пока не нашёл, как сделать иначе, увы

Yekit
25.06.2018
06:44:20
Это тот код, который вы привели выше?

Subb98
25.06.2018
06:44:39
показать то, чего уже нет? =) ладно, сейчас коммиты найду

Bohdan
25.06.2018
06:44:47
в окружении, в котором запускается контейнер, переменных гораздо больше, чем нужно контейнеру к примеру, зачем контейнеру знать о PATH хоста?

потому нужно явно указывать, какие переменные пробрасывать в какой контейнер

Subb98
25.06.2018
06:45:41
совершенно не за чем

Subb98
25.06.2018
06:46:17
но так уж вышло, в моём случае, что у меня для обоих контейнеров переменные совпадают

Bohdan
25.06.2018
06:47:04
а .env файл - это dev-представление переменных окружения он не должен быть в репе, т.к. он нужен только для dev (в репу можно класть .env.dist с примером заполнения) а в прод-окружениях эти же переменные должны быть реальными переменными окружения

Subb98
25.06.2018
06:47:18
Покажите
version: '3' services: app: build: docker/app depends_on: - db env_file: docker/app/local.env volumes: - .:/var/www/apartments networks: - backend db: build: docker/db env_file: docker/db/local.env networks: - backend networks: backend: было так

Yekit
25.06.2018
06:49:00
Bohdan
25.06.2018
06:49:06
хм, насколько вижу - env_file должен по умолчанию прокидываться, нет?

https://docs.docker.com/compose/environment-variables/#the-env_file-configuration-option

имею ввиду его содержание

Google
Subb98
25.06.2018
06:49:30
Ну вот, осталось только в каждом сервисе написать, например, environments: - POSTGRES_DB=${POSTGRES_DB}
зачем, когда у меня в local.env уже хранятся разные значения?

даже скрины кидал

Yekit
25.06.2018
06:50:17
зачем, когда у меня в local.env уже хранятся разные значения?
Вы хотите, чтобы из .env файла переменные автоматом прокидывались в контейнер?

Subb98
25.06.2018
06:50:25
собирал на выходных несколько раз контейнер, но не получал нужного результата

Admin
ERROR: S client not available

Yekit
25.06.2018
06:51:05
Это плохое решение

Все нужно явно указывать

Subb98
25.06.2018
06:51:43
ну, всё равно не работает..

по крайней мере, у меня

Bohdan
25.06.2018
06:52:02
еще раз

Yekit
25.06.2018
06:52:06
Покажите как прописываете

Bohdan
25.06.2018
06:52:18
env переменные для сборки и для запуска - это разные env переменные

Yekit
25.06.2018
06:52:27
.env и .yml файлы нужны

Subb98
25.06.2018
06:52:51
services: app: depends_on: - db # env_file: .env environment: - POSTGRES_HOST=db db: # env_file: .env

Bohdan
25.06.2018
06:52:55
и Dockerflie, если уж "не работает" связано со сборкой контейнера, а не с запуском

Yekit
25.06.2018
06:53:24
Покажите полностью .yml

Subb98
25.06.2018
06:53:45
Yekit
25.06.2018
06:54:07
Dockerfile покажите

Google
Yekit
25.06.2018
06:54:11
Инфы мало

Bohdan
25.06.2018
06:54:24
еще раз в чем проблема?

Yekit
25.06.2018
06:54:32
+

Bohdan
25.06.2018
06:54:36
"не собирается" или "не запускается" или "не работает"?

Subb98
25.06.2018
06:54:52
проблема не актуальна в принципе. я не знаю, зачем вообще было тему поднимать.

суть такова, что если не указать явно файл .env в композе, то переменные окружения не подгрузятся.

всё, в этом проблема.

Bohdan
25.06.2018
06:56:15
не указать через env_file и при этом не прописывать environment?

Subb98
25.06.2018
06:56:37
services: app: depends_on: - db # env_file: .env environment: - POSTGRES_HOST=db db: # env_file: .env

скрины могу переслать ещё



Bohdan
25.06.2018
06:57:19
ну собственно это то, о чем я кидал ссылку на доку

если указан env_file - все переменные из него будут в контейенре

Subb98
25.06.2018
06:58:13
а если не указать явно, я думал, что должен браться .env, что лежит в этом же каталоге с композом

видимо, я доку неверно понял

Yekit
25.06.2018
06:58:27
Да

Subb98
25.06.2018
06:58:41
Да
не берётся, значит. у меня, по крайней мере

Страница 659 из 1375