@docker_ru

Страница 132 из 1375
Alexandr
10.04.2017
11:37:25
и в офф документации описанно еще про driver: custom-driver-1
кастомный драйвер это немного не то что ты имеешь ввиду. Это для создания изолированных сетей. Перед указанием, надо сначала ее создать

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
networks: default: # Use a custom driver driver: custom-driver-1
ты в контейнерах какую сеть делаешь? bridge host overlay?

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 уже устаревший, легче же в одну сеть обозначить

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

Anton
10.04.2017
11:54:47
Так links уже устаревший, легче же в одну сеть обозначить
в смысле устаревший? depends_on был же устаревшим

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 Кто как реализовал данный функционал?

тнн 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
Докер в состоянии рестарта зависает и не залить базу в мускуль
Ну видимо задал ему политику рестарта при падении, что docker logs говорит?

тнн Itjunky
10.04.2017
16:25:05
Ну видимо задал ему политику рестарта при падении, что docker logs говорит?
Посмотрел логи мускуля, он тупо падает из-за не верных прав на файл .index

Как видно из скрина, сразу после инициализации, я выставляю нужные права...

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
поставь set -eu в начале скрипта и выводи ls после всех операций с /var/lib/mysql. оно у тебя не все вместе от пользователя mysql выполняется?
Не помогает же, скрипт внутри докера и аутпут же не транслируется похоже наржу из докера, потому как всё точно так же

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
Странно, но ни echo, ни cat из этого /init.sh не попадают в лог d.log
Как ты в dockerfile пытаешься записать вывод работы скрипта?

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
Как ты в dockerfile пытаешься записать вывод работы скрипта?
В докерфайле не пытаюсь, в docker-compose.yml же

Через пару веков узнает про /dev/stderr
не помогает перенаправление, умняшка ты наша

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
Вот так лог вывода появился command: sh -c "/init.sh >> /var/lib/mysql/d.log"
Из этого непонятно ничего, скинь весь файл

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