
Sander
23.02.2017
14:10:01
?
может кто-нибудь знает в чем проблема? долго уже решить не могу.
command: "/bin/bash /var/test.sh"
почему-то через файл работает ...
но мне надо чтоб команда была написано прямо в docker-compose.yml, а не через bash file.
в чем может быть проблема?

Google

Sander
23.02.2017
14:23:00
?

Mike
23.02.2017
14:23:22
а что содержится в самой команде? и какую выдает ошибку docker compose?

Sander
23.02.2017
14:23:35
ошибку я уже прислал выше
в самом начале вопроса лог

I
23.02.2017
14:23:47
добавь его в скрипт, а ентрипоинт как этот скрипт

Sander
23.02.2017
14:24:10
таким образом его чтоль делать?
# entrypoint:
# - "mysqldump"
# - "--user=homestead"
# - "--password=secret"
# - "-h"
# - "mariadb_container"
# - "homestead"
# - "|"
# - "gzip"
# - "-c"
# - ">"
# - "/var/backups/export/database.sql"

I
23.02.2017
14:24:11
вижу, тебе надо прямо в композере

Sander
23.02.2017
14:24:14
просто жутко выглядит
сам комманд command, странный. Может быть он не позволяет, делать тяжелую логику.

Mike
23.02.2017
14:27:24
возможно разгадка кроется тут?
http://stackoverflow.com/questions/35452760/difference-between-cmd-and-entrypoint-in-dockefile/35453524

Sander
23.02.2017
14:28:15
проблем это сделать через dockerfile нет
проблема сделать это через docker-compose

Google

Alex
23.02.2017
14:29:05
Используй bash/sh как entry point

Mike
23.02.2017
14:29:12
в ответе описано взаимодействие entrypoint и cmd, возможно у вашего контейнера, который вы используете описан entrypoint, который не переопределяется в рамках docker-compose

Alex
23.02.2017
14:29:15
А все остальное это будет аргумент

Mike
23.02.2017
14:29:30
собственно, что и написано в этом ответе на SO

Alex
23.02.2017
14:29:41
Хотя все это не очень выглядит

Sander
23.02.2017
14:29:45
ну не сказал бы

Alex
23.02.2017
14:30:08
Я бы добавил entrypoint.sh в image

Sander
23.02.2017
14:30:28
почему если запустить, он отдаст результат бекапа, который я сделал command: "mysqldump --user=homestead --password=secret -h mariadb_container homestead"
но дальше, сохранить в файл или что-то еще не могу.

Alex
23.02.2017
14:31:05
Потому что это не оболочка а просто программа )
Вы не в bash окружении

Sander
23.02.2017
14:31:42
мне надо просто запустить комманду в контейнере
и все
command, вроде это делает

Alex
23.02.2017
14:35:13
Вы хотите использовать перенаправления
>
Это не заработает
С командой

Mike
23.02.2017
14:36:02
сработает только в случае, если примонтировать volume и писать туда
кажется так

Sander
23.02.2017
14:36:17
это как

Google

Mike
23.02.2017
14:37:59
ваша команда выполняется в контейнере. это значит, что и все, что пишется пишется в контейнере. если вы смонтируете volume, то сможете по сути зашарить между хостом и контейнером данные
в целом @hayorov предлагает вам более чем красивый вариант с entrypoint.

Sander
23.02.2017
14:38:49
entrypoint и баш файлом я уже делал

Alex
23.02.2017
14:39:02
Ну и?

Sander
23.02.2017
14:39:16
не нравиться мне так

Alex
23.02.2017
14:39:23
))

Sander
23.02.2017
14:39:30
не очень удобно

Alex
23.02.2017
14:40:01
Ну тогда entrypoint: bash
А command
Вся ваша лапша с пайпами

Sander
23.02.2017
14:40:35
entrypoint bash пробовал тоже

Alex
23.02.2017
14:40:51
И?

Sander
23.02.2017
14:40:55
ну не работает

Mike
23.02.2017
14:41:05
/bin/bash ?

Sander
23.02.2017
14:41:08
да

Alex
23.02.2017
14:41:20
Вывод какой?
Зайдите в контейнер и выполнение bash -c "ваша лапша"

Sander
23.02.2017
14:41:55
косяк разработчиков докре вот какой вывод

Alex
23.02.2017
14:42:04
))
И в чем же проблема ?

Google

Alex
23.02.2017
14:43:37
Поделитесь ссылкой на issue

Sander
23.02.2017
14:45:25
да я имею ввиду что, косяк разработчиков в том что сделали такой геморой
я так обычно говорю, когда что-то не получаетс
я

Alex
23.02.2017
14:51:17
Ещё немножко вам для размышления если у вас entrypoint некоторая программа и вы используете перенаправления и пайпы между разных программ mysqldumo gzip , кто управляет перенаправление в вашем случае ?
Mysqldump?
Вам нужна оболочка чтобы это делать она менеджит каскадный запуск и тп

Sander
23.02.2017
14:52:51
ничего не понял
сколько людей столько и мнений то как лучше сделать

Alex
23.02.2017
14:53:07
Фуф, ладно не берите в голову


Sander
23.02.2017
14:53:12
каждый говорит по разному
от этого голова кипит просто
?
Не получается запустить dockerize и mysql одновременно,
1) dockerize -template /tmp/my.cnf.tmpl:/etc/mysql/my.cnf
2) exec mysqld
пробывал все варианты:
1) ENTRYPOINT ["dockerize", "-template", "/tmp/my.cnf.tmpl:/etc/mysql/my.cnf"]
CMD ["mysqld"]
2) ENTRYPOINT dockerize -template /tmp/my.cnf.tmpl:/etc/mysql/my.cnf
CMD ["mysqld"]
3) ENTRYPOINT ["/bin/bash", "/var/test.sh"]
CMD ["mysqld"]
4) CMD ["/bin/bash", "/var/test.sh"]
test.sh сам файл:
dockerize -template /tmp/my.cnf.tmpl:/etc/mysql/my.cnf
exec mysqld
Когда запускаю выводит, эти ошибки.
mariadb_container | 2017-02-23 16:51:20 140074639960000 [Note] mysqld (mysqld 10.1.21-MariaDB-1~jessie) starting as process 10 ...
mariadb_container | mysqld: Please consult the Knowledge Base to find out how to run mysqld as root!
mariadb_container | 2017-02-23 16:51:20 140074639960000 [ERROR] Aborting
mariadb_container |
mariadb_container | 2017/02/23 16:51:20 Command exited with error: exit status 1
mariadb_container exited with code 1
------
Конечно если делать без dockerize, то все работает отлично, что очень странно, так как я уже использовал dockerize для nginx, и все работает хорошо.
проблема ток когда я ENTRYPOINT и CMD запускаю одновременно, но и просто в RUN я не могу положить запуск dockerize, он должен запускаться каждый раз, чтоб конфиги подсасывать.
ENTRYPOINT ["dockerize"]
CMD ["-template", "/tmp/my.cnf.tmpl:/etc/mysql/my.cnf", \
"docker-entrypoint.sh", "mysqld"]ё
вроде так заработало
сейчас будем тестить


Nikolay
23.02.2017
19:03:15
Та что сделал то чтобы пошло?

Maxim
23.02.2017
20:17:21
#whois
Работаю в ONmoon LLC
Fullstack-разработчик
Ничем
Возможностью задать вопросы
Москва
Из вк группы

Google

Maxim
23.02.2017
20:17:47
Добрый вечер, ребята. Кто-нибудь настраивал кастомные драйвера для логгирования докер-контейнеров?

Lupsick
23.02.2017
21:09:15

Sander
24.02.2017
14:23:39
@nikolay_suvorov там косяк у меня был просто.

Andrey
24.02.2017
14:24:31
Подскажите, плс
Запускаю в терминале консул агент, который крутится на localhost:8500
В другом терминале запускаю доккер контейнер, который пытается достать ключи для консул темплейтов с localhost:8500
Как мне прокинуть доступ к localhost:8500 внутрь моего контейнера?

Sander
24.02.2017
14:24:36
Maxim мне кто-то предлагал для логирования bacula и prometheus
может стоит посмотреть в сторону этих технологий

Lupsick
24.02.2017
14:27:01
fluentd
дефолтный драйвер же

Sander
24.02.2017
14:32:23
Так как нет группы по aws s3, надеюсь камнями не закидают если наишу сюда.
Насколько это правильно или не правлиьно, на продакшене разрешать доступ на заливку, получение списка и скачивание файлов s3 bucket, в которм лежат бекапы.
Конфиг в aws:
"Action": ["s3:PutObject", "s3:ListBucket", "s3:GetObject"],

Bogdan (SirEdvin)
24.02.2017
15:03:32
Хм, кто-то работал с Concourse? У меня почему-то воркер не может подключится, хотя в логах вроде все нормально(

Maxim
24.02.2017
16:47:50
Вообщем я занимаюсь разработкой облачного кластера для игровых серверов, которые запускаются внутри докер-контейнеров. Есть центральный сервер, который должен получать от всех машин из разных ДЦ логи. Нужно чтобы логи были последовательные (amqp?), не терялись и не дублировались (если между машиной с игровым сервером и центральным сервером, обрабатывающим логи, пропало соединение, а потом восстановилось через некоторое время, например)
Также эти логи должны храниться какое-то время в mongodb, например
Какие технологии для реализации сей затеи мне использовать?
И еще, нужно чтобы логи обязательно приходили в реалтайме

A
24.02.2017
16:51:22
rsyslog например

Maxim
24.02.2017
16:51:41
Желательно, чтобы сообщения на диск вообще не сбрасывались