leon
Есть такой Docerfile: (запускает postgres с доп. настройками). FROM postgres:11 RUN apt-get update; apt-get install -y sudo mc iputils-ping ssh openssh-server COPY master/initdb/* /docker-entrypoint-initdb.d/ ENV BARMAN_SERVER db-barman RUN useradd -m petitions RUN mkdir -p /var/lib/postgresql/.ssh ADD ssh/master.prv /var/lib/postgresql/.ssh/id_rsa ADD ssh/master.pub /var/lib/postgresql/.ssh/id_rsa.pub RUN chmod 0700 ~postgres/.ssh && \ chmod -R 600 ~postgres/.ssh/* && \ chown -R postgres.postgres ~postgres/.ssh Все нормально работает. Теперь задача - запускать еще sshd при старте (нужно, для настройки резервного копирования)? Не могу сообразить, как это правильно сделать. Не переписывать же entrypoint.sh, который поставляется с образом postgres? (или переписывать)?
leon
пострес должен по ssh с контейнером barman связываться.
leon
хотя... он должен по rsync связываться. для этого наверное sshd не надо запускать?
leon
да. понял. спасибо. А если обобщить вопрос. вот есть родительский entrypoint, который запускает процесс. А в дочернем надо все же еще сервис запускать. Это только через написание своего entrypoint, который повторит (вызовет) родительский? Там в родительском так сделано (как пример): ENTRYPOINT ["docker-entrypoint.sh"] CMD ["postgres"]
donald pump
всем привет. кто-нить boot2docker под вин8.1 ставил?
Matvey
Всем привет, подскажите пожалуйста если можете. Есть сервер на питоне в контейнере, как на него прикрутить docker сервер с хост машины, чтобы запускать контейнеры из под хост машины?
Matvey
вообще не понятно что нужно
Есть специальная библиотека для питона, которая представляет из себя docker client, мне нужно из уже развернутого контейнера с этой библиотекой получить доуступ к докеру, который находится на хост машине
Max xbim 🌴
для этого надо сокет прокинуть в контейнер
AstraSerg
да. понял. спасибо. А если обобщить вопрос. вот есть родительский entrypoint, который запускает процесс. А в дочернем надо все же еще сервис запускать. Это только через написание своего entrypoint, который повторит (вызовет) родительский? Там в родительском так сделано (как пример): ENTRYPOINT ["docker-entrypoint.sh"] CMD ["postgres"]
Да, только через изменение entrypoint причём кардинально, ибо процесс с pid 0 может быть только один. Вообще, для нужно бакапа вы можете делать docker exec -it postgres_container pg_dump -U postres | rsync .... И обратите внимание, что данные postgres/data нужно держать в отдельном вольюме, иначе данные пропадут при остановке контейнера
.
Всем привет. Начал изучать докер. Есть пару вопросов. 1) что такое docker-machine? Нужен ли он линуксу? Пробовал устанавливать, но похоже машина создается через драйвера систем виртуализации. Я примерно понимаю его пользу для винды и мака, но зачем он нужен линуксу? 2) успешно перевел существующий проект на docker-compose. Запускаю через команду docker-compose up --build -d рестарт делаю через docker-compose down --remove-orphans. Но все это делается довольно долго, сервер большую часть пытается потушить контейнеры и поднять (20-30 сек). Например рестарт через supervisor гарантирует малое время запуска. Есть ли пути как правильно рестартить? 3) насколько нужен docker swarm?
AstraSerg
docker-machine позволяет упралять контейнерами на удалённой системе. В принципе не нужен, если есть аркетрация. --remove-orphans - удаляет другие контейнеры, будьте осторожны. 30 секунд намекает на то что у вас в контейнерах процессы с pid 0 не слушают сигналы. В этом случае докер ждёт 30 сек (по дефолту) и прибивает их по kill -9 swarm не нужен, говорят
.
Оркестрация? Типа пастыря который смотрит за ̶о̶в̶ц̶а̶м̶и̶ контейнерами? Наверное он нужен для распределения контейнеров по кластеру? Если у меня сервер один, нужна ли оркестрация? Другой вопрос. Я могу подключиться по ssh и делать те же самые команды через терминал. Неужели у докер машины только такое предназначение?
Andrey
я вам скажу страшное, они даже за это деньги берут
.
да просто интересно) заметил, что докер машина создается через драйвер виртуалбокса. Но здесь ведь будет падать производительность. Если у меня на сервере Linux, получается докер машина не нужна?
Denis
и на маке докермашина не нужна
Denis
везде уже через нативные виртуализации сделан
Denis
а машиной управлять ремоут докером... ну такое
.
везде уже через нативные виртуализации сделан
получается докер машина переходит в категорию артефактов?
AstraSerg
Оркестрация - это чуть более обширное понятие, вот https://ru.wikipedia.org/wiki/%D0%9E%D1%80%D0%BA%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_(%D0%98%D0%A2)
Denis
да не, это просто консолька по факту для управления ремот докерами
AstraSerg
получается docker-compose выполняет часть оркестрации?
нет, композ только локально работает
Denis
тока вам всё равно кажется доступы нужно реализовывать, зачем она если можно также рулить через general purpose тулзы я хз.
AstraSerg
вот что машина может: Using docker-machine commands, you can start, inspect, stop, and restart a managed host, upgrade the Docker client and daemon, and configure a Docker client to talk to your host.
AstraSerg
https://docs.docker.com/machine/overview/
AstraSerg
юзайте её если это вам нужно. Если не нужно - не юзайте.
.
благодарю. буду читать и учить
.
Настройка сервера для небольших проектов сейчас происходит по сути командой docker-compose up --build -d. Удивляюсь тому, почему не использовал докер раньше
Maksim
#вопрос В контейнере DIND не получается поднять контейнер c volumes. Почему-то файлы в контейнере не появляются. Куда копать?
AstraSerg
копайте вверх, вы закопались слишком глубоко :)
Stanislav
Гайз, привет, тут такое дело
Stanislav
Stanislav
mac os, last stable docker
Stanislav
Куда копать? SSD и довольно новый, откуда это i/o ?
Max xbim 🌴
сеть
Stanislav
сеть
а если это всё на локальной машинке? Происходит событийно. Все работает-работает месяцами потом бац и привет
Aleksey
i/o это не только диск.
Stanislav
да я так-то в курсе, если бы поведение было постоянным в сторону диска и не посмотрел бы
Maksim
Как из контейнера постучаться в хост можно по сети?
Max xbim 🌴
по реальному ip хоста обычно получается
Maksim
а... это мысль )))
Maksim
заработался )
Andrey
но так ли это правильно, а так можно даже сокет прокинуть
Max xbim 🌴
зависит для чего , если надо быстро что то протестировать, можно так
Max xbim 🌴
но наверно если более правильные способы
Albert
Приветствую. У меня имеется три контейнера в трёх разных сетях, при этом один из контейнеров подключён сразу ко всем трём сетям. На двух контейнерах запущен netcat на определенном порту, а на третьем, подключённым везде, только прописаны правила перенаправления пакетов. Вопрос: как сделать так, чтобы контейнер, перенаправляющий пакеты, не ложился?
Albert
А где находятся эти логи?
Navern
Что значит не ложился? Вы имеете ввиду повысить отказоустойчивасть? Или он у вас падает постоянно?
может он не знает как правильно там запустить какой-то процесс, который не умирает, пока его не попросить(слип)
Navern
Да, возможно. Фрмулировка странная.
Как правило, если формулировка не странная, то задача либо domain specific, либо оч сложная)
AstraSerg
Как правило, если формулировка не странная, то задача либо domain specific, либо оч сложная)
Да, и ещё третий вариант: нормально сформулированный вопрос дает половину ответа и вопрос не задают :)
AstraSerg
Зачастую задача помощника состоит в том, что бы вопрошающий конкретизировал свой вопрос и через это пришёл к ответу.
AstraSerg
Агри :)
Albert
Приветствую, как решить проблему `executable file not found in $PATH`? Устанавливал nc в докерфайле, что надо сделать?
Aleksey
Всем привет Использую docker-compose и .env файл в нем переменная ENV. Необходимо пробросить эту переменную в Dockerfile и использовать ее для формирования имени файла в команде COPY, как это правильно сделать?
Aleksey
В docker-соmpose.yml Пишу так args: - ENV=${ENV} В Dockerfile ARG ENV .. COPY ./$ENV.conf /path Переменная ENV пустая, хотя в .env файле она прописана
Max xbim 🌴
.env и --build-arg никак не связаны
Aleksey
А как тогда пробросить из .env переменную в Dockerfile?
Sergei
arg != env
Max xbim 🌴
ток если баш скрипт написать что вычитает из файла и перенаправит в docker build
Aleksey
спс, попробую
Андрей
Добрый день! Подскажите, можно ли контейнеру дать временно доступ к gcc хоста?
Jürgen
Три раза перечитал и нифига не понятно
Андрей
Ситуация: нужно установить питон модуль psutil, он требует gcc, который не установлен в контейнере. Установить не могу, т.к. с репозиторием проблемы.
Jürgen
Вообще в докере эта либо что-то странное