Size: a a a

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

2020 February 06

GG

George Gaál in Docker — русскоговорящее сообщество
Hmm
как можно настроить хот-релоад для docker-compose? То есть когда запустил контейнеры и меняешь содержимое файлов (golang) то меняется содержимое на странице ну или автоматизировать пересборку проекта при изменении
Использовать образ с хотрелоадом
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Для голанга, пыха и пехтона точно такой есть
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Александр Шандер
networks:
 voip_vlan:
   external: true
 local_asterisk:
   external: true


Вроде так работает )
Екстернал сеть надо заранее руками создавать
источник

АШ

Александр Шандер in Docker — русскоговорящее сообщество
George Gaál
Екстернал сеть надо заранее руками создавать
Они созданы
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Andrey
Ну ты можешь взять образ и собрать ещё 1 докерфайл from registry/prod:latest потом добавить раном пользователя, дать на всё chown и поставить USER user. Остальные старые слои же не поменяются
Плохая идея
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Объясню - човн полностью создаёт новый слой с размером = все файлы, у которых изменились права. Но это не точно
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Александр Шандер
networks:
 voip_vlan:
   external: true
 local_asterisk:
   external: true


Вроде так работает )
Вот так делал
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Александр Шандер
Не получается  созданные две сети  в  docker через docker-compose к сервису привязать.
---
version: '2.2'

networks:
 default:
   external:
     name: voip_vlan
     name: local_asterisk
services:
 asterisk9:
   image: 25911bb53756
   networks:
     local_asterisk:
       ipv4_address: 172.21.0.40
     voip_vlan:
       ipv4_address: 10.9.68.35

   extra_hosts:
    - "sip.telecom.kz 10.0.0.76"
   command: /sbin/ip route add 10.0.0.0/24 via 10.9.68.1 && /docker-entrypoint.sh
   restart: always


docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
97210996f6d7        bridge              bridge              local
3ea9bc047ad5        host                host                local
c707c097c895        local_asterisk      bridge              local
29b2bd408907        none                null                local
a981ec8fc5d1        voip_vlan           macvlan             local

docker-compose version 1.18.0, build 8dd22a9
Docker version 1.13.1, build 4ef4b30/1.13.1
CentOS 7 kernel 3.10.0-1062.9.1.el7.x86_64
А это какой-то странный синтаксис
источник

АШ

Александр Шандер in Docker — русскоговорящее сообщество
George Gaál
А это какой-то странный синтаксис
Не та ссылка из гугла сначала была )
источник

A

Andrey in Docker — русскоговорящее сообщество
George Gaál
Объясню - човн полностью создаёт новый слой с размером = все файлы, у которых изменились права. Но это не точно
Ну так есть другой момент, что если контейнер уже собрался и пользователя там нет, и прав соответственно тоже, то там уид хоть указывай, хоть нет. Велика вероятность что он его не найдет. А если найдет, не факт что права будут
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Andrey
Ну так есть другой момент, что если контейнер уже собрался и пользователя там нет, и прав соответственно тоже, то там уид хоть указывай, хоть нет. Велика вероятность что он его не найдет. А если найдет, не факт что права будут
Согласен, но это от маски на файлы зависит. Если у тебя там 777, то проблемы нет априори
источник

GG

George Gaál in Docker — русскоговорящее сообщество
И вообще в файловой системе контейнера - все файлы должны быть неизменяемыми. Те данные, которые надо сохранять - в вольюм, но сама программа их создаёт. Проблемы начинаются, когда ты пытаешься зашарить файлы между двумя и более разными контейнерами
источник

A

Andrey in Docker — русскоговорящее сообщество
George Gaál
Согласен, но это от маски на файлы зависит. Если у тебя там 777, то проблемы нет априори
Тебе всё равно, что запустить от пользователя, нужно его создать и задать. А как ты сделаешь это без докерфайла
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Andrey
Тебе всё равно, что запустить от пользователя, нужно его создать и задать. А как ты сделаешь это без докерфайла
Пользователя можно поменять через переменную - если докерфайл правильным, переносимым образом приготовлен
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Либо флаг -u у docker run
источник

A

Andrey in Docker — русскоговорящее сообщество
George Gaál
Пользователя можно поменять через переменную - если докерфайл правильным, переносимым образом приготовлен
Типа через args если сделан?
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Andrey
Типа через args если сделан?
Нет, args - это на этапе сборки
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Я говорю про то, что у тебя в условном docker-entrypoint.sh может быть gosu $USER, а эту переменную передаешь через окружение при создании контейнера из образа
источник

A

Andrey in Docker — русскоговорящее сообщество
George Gaál
Я говорю про то, что у тебя в условном docker-entrypoint.sh может быть gosu $USER, а эту переменную передаешь через окружение при создании контейнера из образа
Ну то есть ты указываешь ARG USER в докерфайле, под него пишешь все действия, а в build with arg указываешь так чтоли?
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Andrey
Ну то есть ты указываешь ARG USER в докерфайле, под него пишешь все действия, а в build with arg указываешь так чтоли?
Чел, ещё раз - это один из вариантов, но не тот
источник