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? (или переписывать)?
Jürgen
leon
пострес должен по ssh с контейнером barman связываться.
Jürgen
leon
хотя... он должен по rsync связываться. для этого наверное sshd не надо запускать?
Jürgen
leon
да. понял. спасибо. А если обобщить вопрос. вот есть родительский entrypoint, который запускает процесс. А в дочернем надо все же еще сервис запускать. Это только через написание своего entrypoint, который повторит (вызовет) родительский? Там в родительском так сделано (как пример):
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["postgres"]
donald pump
всем привет. кто-нить boot2docker под вин8.1 ставил?
Matvey
Всем привет, подскажите пожалуйста если можете.
Есть сервер на питоне в контейнере, как на него прикрутить docker сервер с хост машины, чтобы запускать контейнеры из под хост машины?
Jürgen
Matvey
вообще не понятно что нужно
Есть специальная библиотека для питона, которая представляет из себя docker client, мне нужно из уже развернутого контейнера с этой библиотекой получить доуступ к докеру, который находится на хост машине
Max xbim 🌴
для этого надо сокет прокинуть в контейнер
Jürgen
Matvey
.
Всем привет. Начал изучать докер. Есть пару вопросов.
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
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. Удивляюсь тому, почему не использовал докер раньше
AstraSerg
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 на определенном порту, а на третьем, подключённым везде, только прописаны правила перенаправления пакетов.
Вопрос: как сделать так, чтобы контейнер, перенаправляющий пакеты, не ложился?
Maxim
Albert
А где находятся эти логи?
.
AstraSerg
AstraSerg
AstraSerg
Зачастую задача помощника состоит в том, что бы вопрошающий конкретизировал свой вопрос и через это пришёл к ответу.
Navern
AstraSerg
Агри :)
Albert
Приветствую, как решить проблему `executable file not found in $PATH`? Устанавливал nc в докерфайле, что надо сделать?
Roman
AstraSerg
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
Jürgen
Вообще в докере эта либо что-то странное