@docker_ru

Страница 915 из 1375
Миолаэ
12.12.2018
10:06:16
А подскажи еще, пожалуйста, как сделать файлы в volume доступными для редактирования юзером на хосте? Для того и добавлял user: 1000:1000, но этот вариант не прокатывает, сервис db не виден из app. Если можно - наведи на литературу, которая поможет понять, как связана настройка user и видимость сервиса из другого сервиса.

Нужно это для ci/cd кейсов. Тесты повторно не запускаются, т.к. у юзера раннера нет прав удалить файлы БД. Или это каким-то другим способом решать лучше?

Миолаэ
12.12.2018
10:36:49
примонтировать в volume папку с хоста, не?
так и сделано, см. следующее сообщение

Google
Zulcom
12.12.2018
10:38:02
https://habr.com/post/425101/

Илья
12.12.2018
10:54:24
А попробуй docker logs

или как там оно

Миолаэ
12.12.2018
10:59:18
Вооо, спасибо)

У докера прекрасная документация, но когда не знаешь, что в ней есть и что там искать - малоэффективная :(

2018-12-12T10:57:05.099682Z 0 [ERROR] [MY-010460] [Server] --initialize specified but the data directory exists and is not writable. Aborting. 2018-12-12T10:57:05.099699Z 0 [ERROR] [MY-013236] [Server] Newly created data directory /var/lib/mysql/ is unusable. You can safely remove it. 2018-12-12T10:57:05.099887Z 0 [ERROR] [MY-010119] [Server] Aborting

Чет я без мыслей, как это разрешить

Запускаю так: sudo rm -rf .docker/mysql-data/db/* docker-compose up -d

поставил права 777 на папку с данными мускула - и работает.... пока :)

Google
Илья
12.12.2018
11:23:32
ШУТКА

Джон
12.12.2018
11:23:35
Konstantin
12.12.2018
11:23:53
himioterapiya
поможет?

Джон
12.12.2018
11:24:01
Ренат
12.12.2018
11:55:10
Кто нибудь может объяснить что такое "Сетевые контейнеры"?

Andrey
12.12.2018
11:55:59
леченье всех бед
прочитал как печенье

arts
12.12.2018
11:56:22
прочитал как печенье
печенье всех бред

Konstantin
12.12.2018
11:56:31
ildar
12.12.2018
12:04:19
Кто нибудь может объяснить что такое "Сетевые контейнеры"?
звучит как неудачная калька при переводе. контекст дай

Ренат
12.12.2018
12:17:50
звучит как неудачная калька при переводе. контекст дай
http://docker.crank.ru/docs/docker-engine/learn-by-example/network-containers/

Konstantin
12.12.2018
12:23:33
волумные стораджи есть?

ildar
12.12.2018
12:26:45
http://docker.crank.ru/docs/docker-engine/learn-by-example/network-containers/
зачем читать полуавтоматический перевод устаревшей доки?

Viktor
12.12.2018
12:27:27
Хай dockerd[2767]: time="2018-12-12T14:28:27.508420040+03:00" level=error msg="Handler for GET /v1.30/containers/json returned error: write unix /var/run/docker.sock->@: write: broken pipe" Сразу после этого умирает сеть, лагает докер: docker stop отрабатывает без ошибок, при этом не останавливая контейнеры, проброшенные порты отвечают Connection refused Приходилось кому-то сталкиваться?

Не Глеб
12.12.2018
13:07:43
Подскажите пожалуйста, как в поде кубернетеса запустить 2 комманды на параллельное выполнение?

Konstantin
12.12.2018
13:32:03
перевалочный пункт ?

Миолаэ
12.12.2018
14:56:22
Никак не найду хороший способ сделать так, чтобы подключенные через volume файлы спокойно редактировались потом на хосте :(

Подскажите решение, пожалуйста

какие адекватные есть...

Google
Миолаэ
12.12.2018
15:09:03
Сегодня весь день гугл мучаю и сам экспериментирую. Если прокидываю в контейнер код приложения как volume, ту же папку vendor он под рутом скачивает. Либо выполняет команду от моего юзера (добавляю в docker-compose user: "${USER_ID:-1000}:${GROUP_ID:-1000}", но при этом недоступна папка ~/.composer/cache, что на порядки увеличивает время установки пакетов. А при билде юзера, под которым будут выполняться команды, еще не существует. Соответственно, нельзя сделать chown.

Миолаэ
12.12.2018
15:29:17
Не понял, каким образом мне редактировать файлы, не подключаясь при этом к контейнерному bash. Так же неясно, что делать с файлами БД. Если я верно понял, все изменения по файлам можно производить только в консольных редакторах, и они умрут при остановке контейнеров.

Миолаэ
12.12.2018
15:31:24
Монтируй папки с хоста.
Проблема с разрешениями. Ci раннер монтирует папки, проводит миграции в БД, выполняет тесты, затем все чистит, и не может подчистить за собой файлы БД, т.к. они созданы под другим юзером.

Миолаэ
12.12.2018
15:42:03
А как быть с препрод и прод деплоями? Там данные должны оставаться вне зависимости от того, запущен ли контейнер.

Или 2 разных конфига делать?

В одном делать volume, вдругом нет

gitlab-runner сам пытается удалить все файлы, что не под гитом... И завершает работу с ошибкой, если не получается.

Andrey
12.12.2018
15:44:35
gitlab-runner сам пытается удалить все файлы, что не под гитом... И завершает работу с ошибкой, если не получается.
смотри, если это дело автоматизированное, то все должно быть внутри контейнера. Все изменяемые данные. За исключением наверное только артифактов.

Миолаэ
12.12.2018
15:46:18
В общем, для ci отключать создание тома. Океюшки, будет другой docker-compose.

А как быть с кейсом с разработкой и композером?

docker-compose exec app composer update в папке vendor создает новые файлы от рута.

Я могу запустить эту команду от своего пользователя, но тогда нет смысла прокидывать в контейнер данные из ~/.composer: они все равно доступны будут только для рута.

А без этого composer update может выполняться несколько минут, что тоже не комильфо.

Rustam
12.12.2018
16:10:06
1. код всего проекта монтируем в контейнер с хоста, где файлы принадлежат вашему юзеру 2. композер при разработке гоняем на хосте, в репу кладём composer.lock и при автоматической сборке делаем не composer update, а composer install

Казимир
12.12.2018
16:52:31
Всем привет! Я тут дико тупанул и пушнул на гитлаб вот такой gitlab-ci build: script: - docker build -t bot . - docker run bot В итоге когда я понял что bot у меня бесконечно работает попытался отменить pipeline. Подумал что все ок, но не нифига. Приложение все еще работает и шлет мне нотификации на почту, хотя pipeline отменен. Что делать???

Google
ildar
12.12.2018
16:52:54
тебе же в профильном чатике ответили

Казимир
12.12.2018
16:54:02
не то не другое у меня не получилось

Эх. Зайти по ssh на воркер и остановить контейнер

И не делать run

а я не могу пушнуть скрипт типа такого? docker stop $(docker ps -aq) docker rm $(docker ps -aq) docker rmi $(docker images -q)

Ну можно наверно. Но это же один раз тебе надо

А, ты про лимит час?



Konstantin
12.12.2018
17:01:02
странно, у раннера таймаут же на подобное. В любом случае не тот канал

✖️
12.12.2018
18:19:40
можно ли в докер сварм обновить сразу несколько сервисов? вот знаю как один заапдейтить docker service update --force --image ${image} ${service} но у меня сразу несколько сервисов от одного образа зависят и было б не плохо их вместе обновить

✖️
12.12.2018
18:22:44
всмысле? как через компоуз обновлять? я знаю только как все сразу передеплоить, но нужно же конкретные сервисы для конкреного нового образа

Rustam
12.12.2018
18:40:38
На самом деле докерд не умеет атомарно обновлять несколько сервисов, под капотом docker stack deploy - последовательный вызов docker service * и других простых операций. Поэтому не парьтесь )

✖️
12.12.2018
18:44:58
интересно что будет если параллельно запустить несколько апейтов будет ли докер машина складывать апдейты в очередь и вызывать по-одному или одновременно и будет разворачивать ?

но вообще да, наверно не стоит запариваться) спасибо

на стаковерфло кстати ответили что "стак деплой" запускает сервисы параллельно

и апдейтить нужно в детач режиме docker service update -d service1 docker service update -d service2

✖️
12.12.2018
19:42:19
просто каждый раз когда я так делал то перезагружалось все

Google
✖️
12.12.2018
19:42:43
нужно ли что-то добавлять в компоуз или какие-то еще аргументы прописывать в деплой?

Konstantin
12.12.2018
19:42:45
перегружаются только изменения

✖️
12.12.2018
19:43:58
но я вижу в service ls что неизмененные тоже перегрузились (0/1 у них стоит в колонке с сколько запущено)

Konstantin
12.12.2018
19:45:41
но я вижу в service ls что неизмененные тоже перегрузились (0/1 у них стоит в колонке с сколько запущено)
ты что-то мимо копоза вносил\изменял, вот он и возвращает к конфигу. Не трогает он сервисы, которые не изменялись в конфиге. Для пущей надёжности можно вообще разнести в разные конфиги

Evgen
12.12.2018
20:05:29
Всем привет! Такой вопрос - как сделать из контейнера черный ящик чтобы туда не смогли зайти через exec ti или не примаунтили чего лишнего

Evgen
12.12.2018
20:11:58
Это прекол да

✖️
12.12.2018
20:12:04
или поудалять все команды)

никто ничего не запустит если нечего запускать

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