
Artem
06.06.2017
07:08:33

Andrey
06.06.2017
07:18:23
1001 в докере
проще передать UID и GID из хоста в контейнер
там создать юзера с этими айди

Google

Ilya
06.06.2017
10:02:10
Друзья, кто-нибудь имел опыт использования --cache-from в последних версиях докера?
Выполняю такие команды на разных платформах (пересобираю тот же образ `my-image:v1.0.0`):
docker pull my-image:v1.0.0
docker build --cache-from=my-image:v1.0.0 .
и часто результаты не совпадает.
Где-то сборки не происходит, все берется из кэша, где-то выполняется только часть шагов, где-то все шаги пересобираются заново. Кто-нибудь встречался с такой проблемой?

Konstantin
06.06.2017
10:42:42

Artem
06.06.2017
10:43:20
так ты предлагаешь задать тот же uid что и в контейнере
вот именно, что его может и не быть

Konstantin
06.06.2017
10:44:11
И?

Artem
06.06.2017
10:44:28
тогда к чему твой совет, который безмысленный?
Задай папке не хосте права на тотже uid что в контейнере

Konstantin
06.06.2017
10:44:52
)))

Artem
06.06.2017
10:45:37
плин
на прочитал как и

Konstantin
06.06.2017
10:45:43
chmod -R 12345:12345 folder
Проблема с этим?

Ilya
06.06.2017
11:19:38

Google

Konstantin
06.06.2017
11:23:57
А зачем собирать если вообще ничего не менял?

Ilya
06.06.2017
11:29:26
А зачем собирать если вообще ничего не менял?
Это я так пытаюсь понять, как работает опция --cache-from.
Я использую gitlab-ci для сборки базовых образов, а раннеров большое количество. Заранее не знаешь, на какой раннер попадет сборка (например на тот, на котором нет кэша). Поэтому чтобы не создавать дополнительных проблем с прибиванием таких задач к конкретным раннерам, я делаю сначала docker pull, а затем docker build --from-cache. Иначе получается, что все образы каждый раз пересобираются с нуля и нет профита от кэша докера со всеми вытекающими.

Konstantin
06.06.2017
11:30:32
Ну задачу я понимаю, а билдить зачем если образ не меняется?
Может у тебя copy 1-2м?

Ilya
06.06.2017
11:36:02
Ну задачу я понимаю, а билдить зачем если образ не меняется?
Разумеется, в реальном мире будет что-томеняться. Я просто заметил, что опция --cache-from ведет себя как-то неоднозначно (на первый взгляд).
Исходя из доки, в примере, когда dockerfile не меняется, пересборки вообще не должно происходить. А на деле это не так.
Вопрос прежний - почему такая неоднозначность? На разных хостах хэш для образов счетается по разному? Почему докер не переиспользует образы с опцией --cache-from?

Konstantin
06.06.2017
11:36:45
Может у тебя copy 1-2м?
ещё вариант - имя образа может отличаться от нужного, оно же произвольное
удаляй локально перед pull "docker rmi" или, что сложнее делай pull по sha256

Ilya
06.06.2017
11:44:22

Konstantin
06.06.2017
11:45:18

Ilya
06.06.2017
11:47:21

Konstantin
06.06.2017
11:50:08
сейчас попробую у себя, тоже пачка ранеров есть
Ответ - нет. COPY не 1, 2-м.
ну всё ок, несколько раз на разных раннерах прогнал, без каких-то отклонений. даже очистку перед сборкой добавил
$ docker system prune -fa
Total reclaimed space: 0B
вот только профита мало в моём случае)) у меня 10 слоев качает, чтобы 3-4 заюзать))

Ilya
06.06.2017
12:33:57

Konstantin
06.06.2017
12:34:25
если повторить JOB то и остальные слои из кэша берёт

Ilya
06.06.2017
12:35:24
Понял. Я попробую тогда какой-нибудь публичный образ взять и скинуть пример.
У меня, например, в некоторых случаях даже первый слой из кэша не берется.

Lupsick
06.06.2017
12:40:54
кто-нибудь собирал kubernetes-кластер из docker-compose?

Google

Konstantin
06.06.2017
12:44:56
Я не уверен что это влияет, но у меня overlay
Зачем?

Lupsick
06.06.2017
12:47:27
Зачем?
хочу, чтобы у меня была нормальная локальная конфигурация и кластер в продакшине

Konstantin
06.06.2017
12:47:53
Minikub?
Ты с dind натрахаешься больше чем с кубом

Lupsick
06.06.2017
12:51:24

Konstantin
06.06.2017
12:54:38
у них есть доки

Митко Соловец?
06.06.2017
14:45:43
Коллеги, всем привет! Помогите пожалуйста со следующим. Поднимаю контейнеры докер-компоузом, пара сервисов+монго, стандартный образ, порты маппятся 27017:27017. Из других сервисов к сервису монго обращаюсь по имени, mongo-service1:27017. Возникла необходимость поднять второй сервис монги на порту 27018, я просто добавил еще один сервис mongo-service2, маппинг 27018:27017. Но при обращении mongo-service2:27018, пишет Connection Refused. Что я упустил?

Konstantin
06.06.2017
14:56:04
мапинг для тебя, а не для контейнеров
убери его вообще и подключайся по имени сервиса:
mongo1:27017
mongo2:27017

Konstantin
06.06.2017
14:57:08
в пределах одного компоуза с дефолтной сетью

Митко Соловец?
06.06.2017
14:59:33
порты же конфликтовать будут не?
https://stackoverflow.com/questions/42704844/docker-run-mongo-image-on-a-different-port
я вот нашел решение

Konstantin
06.06.2017
15:00:12

Митко Соловец?
06.06.2017
15:00:23
спасибо, что откликнулись

Konstantin
06.06.2017
15:01:06
Порт в контейнере, а не в сетке

Google

Митко Соловец?
06.06.2017
15:01:53
окей, ваше решение понял, спасибо, что откликнулись, ну а если мне проброс во внешку нужен, тогда вариант выше с SO?

Nick
06.06.2017
15:02:04

Митко Соловец?
06.06.2017
15:02:21
докер файл не хочу оверрайдить

Nick
06.06.2017
15:02:56
ports нужен, чтобы твои контеинер тебе прокинул порт и ты мог бы к нему законектится с локалхоста
в docker-compose пишешь expose и радуешься

Admin
ERROR: S client not available

Nick
06.06.2017
15:03:41
expose:
- 2181

Konstantin
06.06.2017
15:03:50

Митко Соловец?
06.06.2017
15:03:56
именно

Nick
06.06.2017
15:04:07
тогда убери ports и забей

Митко Соловец?
06.06.2017
15:04:10
поэтому я как понял,если без проброса, вариант Константина

Konstantin
06.06.2017
15:04:22

Митко Соловец?
06.06.2017
15:04:26
если с пробросом во внешку, с СО

Konstantin
06.06.2017
15:04:51
Ты подключаешься из контейнера через хост обратно в контейнер
В том со заметки сумасшедших, удали из памяти))

Митко Соловец?
06.06.2017
15:05:41
короче, тогда так
для человека, пробрасываем на 18

Konstantin
06.06.2017
15:05:56
Между контейнерами обращение по дес=сервис+порт из expose

Митко Соловец?
06.06.2017
15:06:00
чтобы например могно консолью подключится

Google

Митко Соловец?
06.06.2017
15:06:10
а для сервиса порт из экспоуза+имя сервиса
так?

Konstantin
06.06.2017
15:06:22
+ для внешки пуьликуешь и хост тогда уже localhost

Nick
06.06.2017
15:06:27
а тебе точно над из вне подключаться? можно ж в образ зайти

Митко Соловец?
06.06.2017
15:07:04
просто прикидываю, что не всегда доступ будет к машине

Konstantin
06.06.2017
15:07:07

Митко Соловец?
06.06.2017
15:07:23
Константин спасибо

Nick
06.06.2017
15:07:40

Митко Соловец?
06.06.2017
15:08:12
эт как?
ну по идее я могу подключиться через mongo cli прям к серверу
минуя ssh, docker ps, hash, docker exec

Nick
06.06.2017
15:08:36
можешь
но зачем

Konstantin
06.06.2017
15:09:11
Чтобы вскрыли)

Митко Соловец?
06.06.2017
15:09:36
да так, перестраховка, короче, я вас понял, еще раз спасибо!

Nick
06.06.2017
15:11:02

Arkadiy
06.06.2017
15:43:06
господа, подскажите пожалуйста)
Если через докер файл запускать:
Step 7/20 : RUN service mysql start
---> Running in 83a74de31578
* Starting MySQL database server mysqld
...done.
---> 4dc35145d38e
Removing intermediate container 83a74de31578
Step 8/20 : RUN service mysql status
---> Running in 5b4dac7d5f80
* MySQL is stopped.
Если руками, то все нормально стартует
Пока не гуглится

Konstantin
06.06.2017
15:44:03
это не виртуалка, там нет сервисов