
Alexandr
10.04.2017
11:37:25

Simak
10.04.2017
11:43:10
Спасибо. Тогда такой вопрос.
networks:
default:
external:
name: my-pre-existing-network
в данном варианте мы как раз как понимаю подключимся к зарание созданной сети

Google

Simak
10.04.2017
11:43:30
networks:
default:
# Use a custom driver
driver: custom-driver-1
То чем отличается это?
это возможность привязать в режиме хост?

Alexandr
10.04.2017
11:44:04

Simak
10.04.2017
11:44:15
bridge
Это просто смежный вопрос)
к теме, чем отличаться два этих примера будут)
Просто как понимаю, это как
networks:
default:
external:
name: my-pre-existing-network
Как раз подключиться к созданной

Alexandr
10.04.2017
11:46:41
с оф документации с бриджовой сетью

Simak
10.04.2017
11:47:04
Это хорошо)

Alexandr
10.04.2017
11:47:06
только у тебя наверно без сборки, просто указываешь image

Simak
10.04.2017
11:47:11
Вообще вопрос был в другом, изначально)

Google

Simak
10.04.2017
11:47:42
Если будут несколько компос файлов. У них будут свои не связные подсети, если я не ошибаюсь. Так как каждый компос создает свою сеть.
Вопрос вот в чем, что бы поместить их в общую сеть бридж с 172.20.0.0/24 допустим, достаточно ли будет явно указать
networks:
default:
И надо ли явно присваивать сеть для каждого сервиса отдельно, то есть из разряда
mysql:
image: mysql:8
networks:
default:
aliases:
- mysql.lan
volumes:
- /opt/docker/mysql:/var/lib/mysql

Alexandr
10.04.2017
11:51:42
просто не по именам
сеть то одна у тебя используется

Simak
10.04.2017
11:52:16
Хорошо, а что бы по именам?)

Alexandr
10.04.2017
11:52:25
но лучше в один компос засовывать

Simak
10.04.2017
11:52:50
Так links уже устаревший, легче же в одну сеть обозначить

Alexandr
10.04.2017
11:53:02

Simak
10.04.2017
11:53:13
По именам)

Anton
10.04.2017
11:54:47

Simak
10.04.2017
11:56:14
Я могу ошибаться. Но у них разве не разные назначения? я как понимаю depends_on ожидает запуска контейнера. А links линкует контейнер по именни

Alexandr
10.04.2017
11:56:39
если в одну сеть их засунуть, то по ip контейнера можешь связавать между собой

Anton
10.04.2017
11:57:05
links линукует и ожидает вместе с хелсчеком

Таймураз
10.04.2017
12:22:14
Ребят, всем доброго дня!
Хочу динамически подключать новые контейнеры на ноде через docker-compose
В качестве балансировщика стоит nginx
Кто как реализовал данный функционал?

Anton
10.04.2017
12:22:54

тнн Itjunky
10.04.2017
15:36:39
Теперь странное состояние рестартинг, у контейнера, которое висит бесконечно...
Докер в состоянии рестарта зависает и не залить базу в мускуль

Google

тнн Itjunky
10.04.2017
15:36:50
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0c702cb6cc7 dockerproject_drupal "sh /init.sh" About a minute ago Restarting (0) 18 seconds ago 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp dockerproject_drupal_1

Fike
10.04.2017
15:52:34
Салют. Существует где-нибудь публичная статья о том, что volume в докерфайле результирует в мусорной директории на хосте при каждом запуске, и что этого следует избегать? Мне хочется ссылаться на что-то, а не расписывать каждый раз.

тнн Itjunky
10.04.2017
16:24:24

Artem
10.04.2017
16:24:25

тнн Itjunky
10.04.2017
16:25:05
Как видно из скрина, сразу после инициализации, я выставляю нужные права...

Fike
10.04.2017
16:29:22
как видно из скрина, ты их выставляешь при отсутствии директории /var/lib/mysql/mysql, которая, судя по тому же скрину, еще как на месте

тнн Itjunky
10.04.2017
16:30:00
Из чего следует, что она отсуствует?

Fike
10.04.2017
16:30:40
! -d это же проверка на то, что проверяемый ресурс не директория, нет?
если то что слева маунтится в /var/lib/mysql, то у тебя ничего не выполняется. если это не так, то довольно сложно понять твой сетап

тнн Itjunky
10.04.2017
16:31:37
Да, это дира служебной базы mysql, которая пояавляется после инициализации тремя строками ниже
/var/lib/mysql != /var/lib/mysql/mysql

Fike
10.04.2017
16:32:45
то, что слева, у тебя маунтится в /var/lib/mysql?

тнн Itjunky
10.04.2017
16:33:01
Да

Fike
10.04.2017
16:33:34
поэтому директория mysql слева у тебя окажется по адресу /var/lib/mysql/mysql

тнн Itjunky
10.04.2017
16:33:47
Нет

Fike
10.04.2017
16:33:50
и еще ты не указываешь ключ рекурсивности для chown
another case solved

тнн Itjunky
10.04.2017
16:34:13
Она пустая же к моменту запуска, потом после иницализации там появляется всё что видно слева

Fike
10.04.2017
16:34:25
а не, в нижнем есть. тогда не знаю, зачем два chown

Google

тнн Itjunky
10.04.2017
16:34:38
Это попытка наобум пофиксить

Fike
10.04.2017
16:34:46
если ты маунтишь то, что слева, то она не пустая

тнн Itjunky
10.04.2017
16:34:55
Я её чищу специально
отдельно руками перед первым запуском
И тогда срабатывает if в скрипте справа и инициализирует всё что нужно мускулю, а после этого, почему=то там оказываются другие права...

Fike
10.04.2017
16:36:23
поставь set -eu в начале скрипта и выводи ls после всех операций с /var/lib/mysql. оно у тебя не все вместе от пользователя mysql выполняется?

Admin
ERROR: S client not available

тнн Itjunky
10.04.2017
16:36:54
А не set -x?

Fike
10.04.2017
16:37:16
-x тоже полезно, это вывод всего, что будет выполняться
-eu тебе просто уронит скрипт в том месте, где не сможет выполниться или (для профилактики) не найдет переменную
сейчас ты просто не знаешь, отработал ли chown вообще в принципе
и в чем фатальный недостаток привычного изображения из библиотеки?

тнн Itjunky
10.04.2017
16:39:24

Fike
10.04.2017
16:39:52
все транслируется, если ты с stdout/stderr не шаманил

тнн Itjunky
10.04.2017
16:48:41
не вижу в выводе, только вывод команды mysqld_safe
cat /var/lib/mysql/*.err
В скрипте так же не выводит ничего
Сделаю вывод в файл
command: sh /init.sh >> /var/lib/mysql/d.log
Вот ведь незадача. Не появляется файл d.log....

Fike
10.04.2017
17:00:52
так а с обычным изображением mysql какие препоны?

тнн Itjunky
10.04.2017
17:01:13
Каким изображением?

Google

Fike
10.04.2017
17:01:28
https://hub.docker.com/_/mysql/

тнн Itjunky
10.04.2017
17:05:15
Я уже писал вчера, что хочу сам сделать образ, а не пользоваться готовым
Что бы все грабли пройти самому.
Иначе так докеру и не научишься никогда
Вот так лог вывода появился
command: sh -c "/init.sh >> /var/lib/mysql/d.log"
Странно, но ни echo, ни cat из этого /init.sh не попадают в лог d.log

Alexandr
10.04.2017
19:12:02

Andrey
10.04.2017
19:14:29
Тсс, пусть развлекается
Через пару веков узнает про /dev/stderr

Anton
10.04.2017
19:15:36
Шел третий день граблей

Mikhail
10.04.2017
19:15:57

тнн Itjunky
10.04.2017
19:17:26

Alexandr
10.04.2017
19:17:58

тнн Itjunky
10.04.2017
19:18:05
Вот так лог вывода появился
command: sh -c "/init.sh >> /var/lib/mysql/d.log"

Alexandr
10.04.2017
19:18:45