@docker_ru
Docker — русскоговорящее сообщество

Обсуждаем вопросы, посвященные Docker🐳, Docker Swarm и всей экосистеме. Обмениваем идеями, новостями и решаем пробемы. Вам могут быть полезны: @coreos_ru, @kubernetes_ru, @devops_ru, @rkt_ru Рекомендуем сразу отключить уведомления для удобства

2608 members

Архив канала @docker_ru 9 марта 2017 г.

05:23:51 ДП
User 131557100
Добрый день, подскажите кто знает какой лучший способ для работы с томами?
05:24:16 ДП
User 131557100
нашел статью, пишут что до версии 1.10  было актуально следующее:

Bind-mounts — монтирование внешних папок параметром -v /host:/container (как в статье про MySQL внутри Докера).

Data-only containers — создание специального контейнера-спутника и использование его файловой системы для хранения данных (параметр —volumes-from).
05:25:11 ДП
User 131557100
https://blog.amartynov.ru/docker-named-volumes/
05:25:29 ДП
User 131557100
везде где смотрю используется чаще всего -v
05:29:29 ДП
User 131557100
а в официальной доке написано —volumes-from
https://docs.docker.com/engine/examples/postgresql_service/#testing-the-database
docs.docker.com/engine/examples/postgresql_service
Running and installing a PostgreSQL service
05:55:45 ДП
User 131557100
или использоватьименованые тома?
05:58:24 ДП
User 28959230
User 131557100
или использоватьименованые тома?
именованные тома вроде бы норм
05:58:59 ДП
User 131557100
вот я тоже вроде пришел к такому выводу, хотел узнать, кто как использует
06:00:12 ДП
User 28959230
а какие варианты их использования кроме обеспечения перманентности данных есть?
06:00:54 ДП
User 28959230
или о чем вопрос?
06:01:33 ДП
User 131557100
не правильно задал вопрос, кто использует -v, кто -volumes-from и кто именует тома
06:02:17 ДП
User 50043787
Разница, как я понял, в том, что при -v просто прокидывается папка с хоста. А при --volumes-from можно вообще примонтировать какой-нибудь S3 бакет, или другой том со своей ФС
06:02:59 ДП
User 50043787
Нас в группе 666!
Во славу сотоне, конечно же
06:03:33 ДП
User 293645084
User 131557100
не правильно задал вопрос, кто использует -v, кто -volumes-from и кто именует тома
я использую проброс и именованные тома. первый нужен для того, что контейнер создаёт файлы конфигурации, а второй под бд
06:03:58 ДП
User 293645084
и соот. мне нужно сохранять файлы конфигурации в гит
06:07:36 ДП
User 131557100
всем спасибо за информацию)
06:07:44 ДП
User 131557100
осознал)
08:19:59 ДП
User 252820407
Всем привет:)
Уже 667 :)
08:22:23 ДП
User 157588686
такое хорошее число мемберов было =(
08:23:34 ДП
User 171565675
всегда можно пару кикнуть
08:30:42 ДП
User 252820407
Господа, собсно такой вопрос: собираю я свой образ lamp, как мне подключить внешнюю папку (которая будет за пределами образа), как свою папку с сайтом?
08:31:24 ДП
User 252820407
Чтоб я мог легко менять ее данные.
Можно просто ссылкой, где покурить (или название того, как это вообще называется)
08:31:55 ДП
User 209288485
User 50043787
Разница, как я понял, в том, что при -v просто прокидывается папка с хоста. А при --volumes-from можно вообще примонтировать какой-нибудь S3 бакет, или другой том со своей ФС
а можно как-нибудь зашарить 1 том на 2 хоста? т.е. чтобы данные былин на томе хост01, но хост02 тоже мог с ними работать?
08:32:23 ДП
User 50043787
так это оно и есть
08:32:35 ДП
User 209288485
без EBS, GCE, S3 и тд
08:32:57 ДП
User 50043787
указываешь папку через -v например для двух контейнеров
и они шарят данные в этой папке между собой
08:33:21 ДП
User 209288485
я имею ввиду, если два контейнера на двух серверах находятся разных.
08:33:22 ДП
User 157588686
User 252820407
Чтоб я мог легко менять ее данные.
Можно просто ссылкой, где покурить (или название того, как это вообще называется)
volume
08:33:57 ДП
User 252820407
User 157588686
volume
Окс. Благодарю!
10:00:56 ДП
User 49536752
Привет сообщество, при старте докера через
dockerd --bip=172.20.0.1/16
создаются еще 4 bridge один из которых занимает
172.20.0.1
Что не дает docker0 занять подсеть. 
Что с этим делать?
10:21:06 ДП
User 131557100
подскажите пожалуйста, я создал том, потом заполнил образ и привязал к нему этот том, но понять не могу где находятся файлы на моей машине
10:21:28 ДП
User 131557100
docker volume inspect vol-pg-data
[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/vol-pg-data/_data",
        "Name": "vol-pg-data",
        "Options": {},
        "Scope": "local"
    }
]
10:21:43 ДП
User 131557100
такой папки на моем компьютере не существует:
/var/lib/docker/volumes/vol-pg-data/_data
10:22:47 ДП
User 131557100
docker volume create —name=vol-pg-data
10:23:46 ДП
User 131557100
просто хочу посмотреть где реальные данные лежат ну и сам том тоже
10:25:04 ДП
User 293645084
User 131557100
подскажите пожалуйста, я создал том, потом заполнил образ и привязал к нему этот том, но понять не могу где находятся файлы на моей машине
покажи, как примонтировал
10:26:05 ДП
User 131557100
docker run -d -e POSTGRES_PASSWORD=N3Hb8sgpAwgr -e POSTGRES_USER=pgadgarb -v vol-pg-data:/data/postgres -v —name cont-postgres postgres
10:26:59 ДП
User 131557100
ой еще один -v
10:27:01 ДП
User 131557100
лишний
10:28:58 ДП
User 293645084
User 131557100
docker run -d -e POSTGRES_PASSWORD=N3Hb8sgpAwgr -e POSTGRES_USER=pgadgarb -v vol-pg-data:/data/postgres -v —name cont-postgres postgres
чем обусловлен такой выбор директории?
10:29:10 ДП
User 293645084
у меня пострес на /var/lib/postgresql/data
10:29:33 ДП
10:29:34 ДП
User 293645084
https://github.com/docker-library/postgres/blob/5159417968c6a08e2ed784498cba28f22a74b03e/9.6/Dockerfile#L62
github.com/docker-library/postgres/blob/5159417968c6a08e2ed784498cba28f22a74b03e/9.6/Dockerfile
postgres - Docker Official Image packaging for Postgres
10:29:36 ДП
User 131557100
большой спасибо))
10:29:49 ДП
User 131557100
вот это я затупил
10:29:50 ДП
User 293645084
вот оф на докер файл
10:30:30 ДП
User 293645084
и там такой путь, на который нужно моунтить
10:51:53 ДП
User 35992469
народ, а почему вот такое периодически выскакивает в dmesg?  br-31d210b8909c: port 2(vethaf2a09c) entered forwarding state
10:54:26 ДП
User 35992469
и кто-нибудь сталкивался с тем, что контейнер намертво вис и вообще ничего с ним не сделать? docker logs тоже висит, docker rm -f сработал только с третьего раза
10:55:17 ДП
User 35992469
после этого тот контейнер удалось поднять только после docker network disconnect --force
10:56:16 ДП
User 35992469
а что не норм? ну т.е. в логах ничего относительно железа нет
10:57:27 ДП
User 35992469
если честно, хз. кастомная сеть для контейнеров, driver: bridge
10:58:14 ДП
User 35992469
iptables стоковый
10:58:27 ДП
User 45933
тож нравится
12:20:35 ПП
User 197902193
коллеги, кто-то уже читал про ограничения ЕЕ и СЕ версий в новом релизе докера?
12:46:40 ПП
User 197902193
как я понял, текущая версия стала называтся СЕ и перестала ставиться на RHEL.
12:47:26 ПП
User 197902193
а к ЕЕ прикрутили веб-апп для оркестрации и коммерческие приложения as docker images.
01:21:11 ПП
User 41775858
коллеги, у кого-нибудь выскакивала такая ошибка при попытке создать сеть
Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
VPN не включен
01:29:15 ПП
User 141975931
Ребят, подскажите, а кто что использует в качестве супервизора внутри контейнера?
01:39:34 ПП
User 199194369
> @glur_glur
у тебя очень много сетей создал докер, надо удалить неиспользуемые docker network rm $(docker network ls -q)
01:40:33 ПП
User 199194369
у меня на гитлаб раннере стоит крон на час ночи каждого дня
01:40:50 ПП
User 199194369
который чистит устаревшие образа и неиспользуемые подсети
01:41:44 ПП
User 41775858
@alfafind в docker network ls всего 3 сети, bridge, host, none
01:41:56 ПП
User 41775858
ну и удалить я их не могу
01:42:10 ПП
User 41775858
проблема возникла после того, как я поигрался со свармом
01:50:42 ПП
User 118217463
Кто-нибудь официальный образ rabbitmq с докерхаба использует?
01:52:08 ПП
User 35992469
User 118217463
Кто-нибудь официальный образ rabbitmq с докерхаба использует?
использую
01:53:04 ПП
User 118217463
Не было проблемы с сохранением данных после пересоздания контейнера?
01:54:22 ПП
User 35992469
не пробовал. у меня не сохраняются данные, не критично
01:54:52 ПП
User 118217463
ладно, буду ковырять
02:04:03 ПП
User 5713261
там можно подмонтировать volume  your_path:/var/lib/rabbitmq
02:04:21 ПП
User 5713261
в самом контейнере, если все правильно помню настроено, чтобы mnesia туда сохраняла базу
02:04:44 ПП
User 5713261
да VOLUME /var/lib/rabbitmq
02:04:49 ПП
User 5713261
стоит в docker файле
02:05:06 ПП
User 5713261
просто смонтируйте его на хостовую систему, и тогда при пересоздании контейнера все будет хорошо
02:53:36 ПП
User 118217463
не совсем
02:54:29 ПП
User 118217463
ну т.е. у меня так и было сделано правда я пробрасывал на хост /var/lib/rabbitmq через docker-compose но это не меняет сути
02:55:55 ПП
User 118217463
надо обязательно указывать hostname для rabbitmq иначе он не подхватывает сохраненные данные.
05:55:05 ПП
User 131557100
доброго времени суток, всячески изучаю докер)

подскажите пожалуйста, хочу сделтаь контейнер с nginx и в голове делема:

1) создать папку docker/nginx/conf, далее запустить docker run —name cont-nginx -v docker/nginx/conf:/etc/nginx/sites-available (т.е. сделать том с конфигами, а при необходимости просто добавлять конфиги в папку docker/nginx/conf)

либо

2) создать свой образ в котором будет COPY site1.conf /etc/nginx/sites-available/site1.conf после запустить контейнер на основе этого образа, но получается если мне понадобится добавить еще 1 конфиг для nginx, надо будет обновить dockerfile, пересоздать образ и перезапустить container 

мне кажется 2 вариант бред, но все же интересно мнение опытных людей, может существует еще какой-то вариант которого у меня в голове нет?
06:12:50 ПП
User 113358096
Если для тестов и не надо таскать контейнер по сервакам, то первый вариант. Иначе второй лучше
06:20:54 ПП
User 131557100
понял, спасибо)
09:02:34 ПП
User 7520246
Всем привет. Подскажите пожалуйста, как можно выполнить скрипт после монтирования папки в docker-compose? Хочу запустить php-fom:alpine, замаунтить папку с проектом и выполнить в этой папке composer install. Проблема в том, что после запуска любой комманды контейнер выходит со статусом 0
09:06:58 ПП
User 118217463
User 7520246
Всем привет. Подскажите пожалуйста, как можно выполнить скрипт после монтирования папки в docker-compose? Хочу запустить php-fom:alpine, замаунтить папку с проектом и выполнить в этой папке composer install. Проблема в том, что после запуска любой комманды контейнер выходит со статусом 0
сделай Dockerfile FROM:php-fpm:alpine ......  и в docker-compose укажи его
09:07:30 ПП
User 118217463
Если я правильно понимаю что ты хочешь
09:11:10 ПП
User 7520246
User 118217463
сделай Dockerfile FROM:php-fpm:alpine ......  и в docker-compose укажи его
Сейчас так и есть. В докер файле описано все модули, и либы которыеы должны использоваться. Но как я понял папка не будет доступна до запуска
09:11:43 ПП
User 7520246
Разве RUN скрипт пройдет? И правильно-ли в dockerfile запускать такого рода комманды
09:14:26 ПП
User 118217463
ну эмм... насколько я понимаю тебе нужен композер в контейнере
09:15:17 ПП
User 118217463
на мой взгляд вполне логично чтобы он подтянул все необходимое на этапе сборки контейнера
09:16:36 ПП
User 199194369
Ничо не понял
09:16:41 ПП
User 199194369
Че за сложности
09:16:49 ПП
User 199194369
Возьми образ альпайна
09:16:57 ПП
User 199194369
Укажи вольюмс
09:17:00 ПП
09:17:14 ПП
User 199194369
Оно автоматом будет смотреть в папку
09:18:28 ПП
User 118217463
но композер же вроде должен подтянуть все зависимости? это нужно делать на этапе сборки контейнера?
09:18:28 ПП
User 199194369
Композер инсталл можно сделать и в докер компоузе юмл
09:19:03 ПП
User 199194369
Просто надо указать в докер компоуз юмл что папка вендор является не трекаемым кешом
09:19:04 ПП
User 7520246
User 199194369
Композер инсталл можно сделать и в докер компоузе юмл
Вот у меня собственно с этим только и проблемы
09:19:10 ПП
User 118217463
о, а как в docker-compose.yml это сдалать?
09:19:16 ПП
User 7520246
Все замечательно собирается, маунтится
09:19:44 ПП
User 199194369
cache: - vendor/ untracked: true
09:19:57 ПП
User 7520246
Но когда я пробую добавить выполнение комманды в docker-compose.yml у меня контейнер php выходит со статусом 0
09:20:12 ПП
User 7520246
Потом падает все остальное, что в депенденси стоит
09:20:23 ПП
User 199194369
Покажи какой образ используешь
09:20:38 ПП
User 7520246
FROM php:7.1-fpm-alpine
09:21:03 ПП
User 7520246
Сейчас покажу конфиг
09:21:36 ПП
User 7520246
https://gist.github.com/mexoboy/a0e1e769ff4ed8d78ed4effc3b281f0d
gist.github.com/mexoboy/a0e1e769ff4ed8d78ed4effc3b281f0d
09:22:54 ПП
User 7520246
Вот кусок из docker-compose.yml
09:22:55 ПП
User 7520246
entrypoint:
            - /bin/sh
            - -c
        command:
            - composer install
            - php-fpm

        tty: true
09:25:50 ПП
User 199194369
Cmd лишнее
09:25:52 ПП
User 7520246
Спасибо, посмотрю
09:25:57 ПП
User 199194369
В докерфайле
09:27:16 ПП
User 7520246
Да, спасибо. Уберу
09:27:19 ПП
User 199194369
Я тоже в первый раз мучался, думал из-за чего в инстанс не зайти никак
09:28:07 ПП
User 7520246
Мужжииик
09:28:10 ПП
User 7520246
Спасибо тебе!
09:28:21 ПП
User 7520246
Все завелось :)))
09:28:39 ПП
User 7520246
Я столько времени пытался понять в чем причина
09:29:08 ПП
User 199194369
Ну тоже опыт
09:29:14 ПП
User 7520246
А не, поспешил...
09:29:29 ПП
User 7520246
Композер выполнился, но php-fpm не стартанул
09:29:37 ПП
User 7520246
osiris-php-fpm   /bin/sh -c composer instal ...   Exit 0
09:29:47 ПП
User 199194369
Потому что надо делать &&
09:31:35 ПП
User 7520246
Да, получилось
09:31:38 ПП
User 7520246
Спасибо :)
09:32:31 ПП
User 118217463
А теперь поясните мне, зачем каждый раз при старте контейнера делать composer install?
09:33:08 ПП
User 199194369
Чтобы тянуть все зависимости
09:33:22 ПП
User 199194369
У меня докер бегает в гитлаб раннере
09:33:35 ПП
User 118217463
Разве не логичнее делать это при сборке образа?
09:33:43 ПП
09:33:55 ПП
User 199194369
Образ собирается только при изменениях
09:34:06 ПП
User 199194369
Поменял докерфайл
09:34:15 ПП
User 199194369
Оно пересобрало
09:34:31 ПП
User 118217463
Т.е. ты ничего менять не будешь, а зависимости изменятся с багом и у тебя все упадет?
09:34:43 ПП
09:35:21 ПП
User 199194369
Обычно если все четко сделано, докер все из кеша берет
09:35:23 ПП
User 118217463
Какая-то страшная практика на мой взгляд.
09:35:27 ПП
User 199194369
Пропуская степы
09:35:57 ПП
User 199194369
Это общепринятая практика
09:36:37 ПП
User 7520246
User 118217463
А теперь поясните мне, зачем каждый раз при старте контейнера делать composer install?
Дмитрий, я конечно с докером менее недели работаю - но для меня главной задачей было помочь ребятам поднять рабочее окружение и работать в винде
09:37:06 ПП
User 118217463
т.е. еще раз. Ты ничего не меняешь, просто рестартишь контейнер и он перестает работать, из-за того, что где-то кто-то что-то поменял и композер обновил зависимости при старте контейнера.
09:37:51 ПП
User 199194369
Обычно сломанные депенденси надо выявлять как можно раньше
09:37:54 ПП
User 7520246
Почему контейнер должен падать?
09:38:28 ПП
User 199194369
Если кто-то поломал на проецируемой файловой системе сборку
09:38:41 ПП
User 199194369
Мы должны узнать первыми и по рукам атата
09:39:10 ПП
User 118217463
Ну для гитлабовского раннера - может быть нормально
09:39:28 ПП
User 199194369
И для разработки тоже хорошо
09:39:40 ПП
User 7520246
Композер никак не поломает сборку. Максимум - это nginx начнет отдавать 500
09:40:19 ПП
User 199194369
Обычно процесс автоматического деплоя включает себя проверку свежайшего мастера
09:40:40 ПП
User 199194369
Если все тесты прошли, готовится образ и выкатывается в куб
09:41:17 ПП
User 118217463
Т.е. ты обновил все депенденси, прогнал тесты если все хорошо - деплоишь
09:41:22 ПП
User 199194369
И уже ответственность разработчика следить за стабильным состоянием мастера
09:41:31 ПП
User 199194369
А как иначе
09:41:47 ПП
User 118217463
Нет, с этим я согласен.
09:42:02 ПП
User 118217463
Мне про разработку непонятно.
09:42:26 ПП
User 199194369
Композер может и разработчиков быть обновлен
09:42:58 ПП
User 199194369
Тут проецируемая файловая система
09:43:37 ПП
User 118217463
А, ну т.е. это его забота прибить версию депенденси
09:43:50 ПП
User 118217463
разработчика всмысле
09:44:18 ПП
User 199194369
В нормальной разработке есть фиксация состояния композер лока и семантическое версионирование
09:44:27 ПП
User 199194369
В данном случае через тильду
09:44:43 ПП
User 199194369
Не выше самой минорной автоматически
09:45:42 ПП
User 7520246
User 118217463
Мне про разработку непонятно.
Мы возможно о разном сейчас. Я хочу сейчас сделать следующее. Человек, который не особо понимает что такое composer и миграции имел локально актуальную версию рабочего окружения. Он локально запускает у себя docker compose и начинает работать в своей папке, которая маунтится в php-fpm. При этом он может сразу видеть изменения. При переключении веток ватчится изменения composer.json и запускается автоматом composer install и запускаются миграции
09:47:03 ПП
User 118217463
Да, мне все понятно. Спасибо.
09:47:03 ПП
User 7520246
Так-что тут composer не является как инструмент для деплоя реального приложения на продакшен
09:47:25 ПП
User 118217463
Да, я понял. Спасибо.
11:14:56 ПП
User 50043787
есть ли где-нибудь готовый образ секурного приватного репозитория докера? Так чтобы стартанул контейнер, указал ему пути к сертификатам, задал пользователя и радуешься?
11:15:35 ПП
User 199194369
Докер и сосьюрити
11:15:44 ПП
User 199194369
Новый проект нашей раши
11:15:50 ПП
User 199194369
Понять и простить
11:22:24 ПП
User 50043787
Вот, вроде нашел
юзайте, кому надо
https://github.com/Tails/docker-registry-nginx-ssl
github.com/Tails/docker-registry-nginx-ssl
docker-registry-nginx-ssl - Docker Registry 2.0 proxy with self-generating SSL and easy basic authentication