Sergey
=)
Tigran
Всем привет! Подскажите такую вещь, пожалуйста. Если я хочу собрать один docker image (python, add ., pip install, вот это вот всё) и запустить компоузом несколько раз с разной command, можно в docker-compose.yml как-то один раз image прописать и переиспользовать, или надо будет в каждом сервисе build указывать? Как вы вообще обычно оформляете проект, когда несколько сервисов из одного питон-проекта надо запустить?
Kirill
1. Не используем питон xD
Tigran
Не то чтобы дело было в питоне
Anonymous
Tigran
Tigran
image: ... ?
Anonymous
Как?
Команду указать с помощью command: ...
Tigran
Типа, мне надо отдельно прописать сервис с build и image, а в остальных поставить depends_on и image?
Kirill
Anonymous
Образ соответственно
services:
service:
image: yourimage:latest
Tigran
И ещё, можно несколько сервисов на одном хосте запустить?
Kirill
Скалирование смотри
Tigran
чтобы они могли друг к другу обращаться по localhost:port
Kirill
Они должны быть в одном нетворке и будут доступны по имени сервиса
Kirill
Ну compose сам для всех сервисов создаёт нетворк
Tigran
это понятно
Boris
Boris
Таким образом обратиться к контейнеру можно будет не как container_name:port
Boris
а host.name.com:port
Кылыч
привет всем. вручную вожу через ssh docker stop $(docker ps -q) все норм. но на гитлаб ci ругается
"docker stop" requires at least 1 argument(s).
Кылыч
в чем может быть проблема?
Кылыч
и запущенные контейнеры там есть кстати. из-за этого failed: port is already allocated.
Mikhail
А что там показывает docker ps -q ?
Max
Кылыч
Прикол в том что вручную показывает. То есть список не пустой
Кылыч
Кылыч
Mikhail
Где список то?
Кылыч
Ну вот там ошибка. Порт уже занят т.к есть запущенный контейнер. Но прикол он невидим через gitlab-ci
Эмин
Кылыч
Думаю тоже другое решение нужно смотреть
Oleg
кто-нибудь поднимал mongodb через docker-compose.yml ?
Oleg
использую параметр MONGO_INITDB_DATABASE=mydbname, но этот параметр игорируется, база не создается, работает только одна база по умолчанию: admin
Oleg
конфиг такой-же https://stackoverflow.com/questions/48324357/enable-mongo-authentication-using-docker-compose
Михаил
Добрый день, может кто прояснить ситуацию:
На ubuntu не стоит postgres, но postgres используется в docker-compose контейнере, однако не смотря на то, что контейнер остановлен, при повторном запуске я получаю что порт 5432 уже используется, смотрю на вывод:
sudo netstat -ntpl:
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1847/mysqld
tcp 0 0 127.0.0.1:63342 0.0.0.0:* LISTEN 4065/java
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 723/systemd-resolve
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1058/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1597/postgres
tcp 0 0 127.0.0.1:6942 0.0.0.0:* LISTEN 4065/java
tcp6 0 0 :::80 :::* LISTEN 1744/apache2
tcp6 0 0 ::1:631 :::* LISTEN 1058/cupsd
вижу что порт занят процессом postgres, так вот вопрос как так получилось, ведь докер контейнер остановлен и как исправить эту ситуацию в целом
Richard
зайкисолнышки, помогите, пожалуйста, я знаю, что вы очень хорошие:
есть три контейнера: какой-нибудь spam, ham и eggs. как сделать так, что бы к spam и ham мог обращаться только eggs и никто более?
Sergey
Richard
в один нетворк запихнуть?
как это правильно гуглить, или хотя бы где читать? я просто материалы особо то найти не могу по этой теме...
Richard
еще очень странны вопрос: а можно к контейнеру прицепить mac-адрес?))
Anonymous
Sergey
Anonymous
Richard
Richard
Ok Google
Docker network
В чем проблема?
мне потребовалось на осознание, как работает нетворкинг в докере >7 часов. хотя тема-то оказалось простейшей
фейспалм просто. (не хвастаюсь, не жалуюсь, просто думаю, может есть смысл для русского школяра сделать перевод документации на эту тему? 🤔)
Sergey
Evgenii
Richard
мэн, чесслово
у тебя стопицот ресурсов
НЕ ИЩИ ТЫ ГОТОВОЕ
изучи что есть, выяви с этого то что требуется и сделай
чув, вот представь:
делаешь ты такой проект, у которого сроки не просто горят, а сам сатана от них получает ожоги пятой степени.
нужно тебе найти что-то готовое на пару недел работы, что бы ну вот просто работало, хоть с костылями, но работало, а через месяц придется все равно пересматривать архитектуру всей системы.
и вот вопрос: что правильней такой ситуации — не осознавая сути за 1 день найти готове решение, или за неделю всей командой осознать целиком устройство части докера?
Richard
ежу понятно, что правильней погрузиться в тему целиком и понимать как она работает, а не рецепты и хаки искать, но, мать его, ну вот нет времени на это.
Sergey
чув, вот представь:
делаешь ты такой проект, у которого сроки не просто горят, а сам сатана от них получает ожоги пятой степени.
нужно тебе найти что-то готовое на пару недел работы, что бы ну вот просто работало, хоть с костылями, но работало, а через месяц придется все равно пересматривать архитектуру всей системы.
и вот вопрос: что правильней такой ситуации — не осознавая сути за 1 день найти готове решение, или за неделю всей командой осознать целиком устройство части докера?
нуок
1. почему таски прилетают некомпетентному человеку это раз
2. что правильнее в такой ситуации: один раз где то по хауту собрать небезопасное\костыльное решение, или знать то, с чем ты работаешь и как сделать из этого эффективный продукт, а не выковыривать потом из этого говнокод
3. а если ты сам взялся за этот треш, то собсна вопрос, а нахрена, если ты не умеешь
4. если сроки горят, значит косяк в выстроенных бизнес процессах компании\заказчика, и это явно не проблема разработчика
Richard
Sergey
а больше некому это что
проект на 1 человека?))
Anonymous
Anonymous
(Проконсультировать в ЛС)
Richard
Anonymous
Кстати, такой вопрос. У меня есть Ubuntu Fan overlay сеть, работающая между несколькими физическими хостами. К этой сети подключены LXC контейнеры, которые располагаются на различных хостах. Как сделать так, чтобы LXC контейнер A на хосте b1 мог обращаться по хостнейму к Docker контейнеру B на хосте b2 ?
Sergey
Evgenii
Anonymous
Anonymous
Какой pm...
Sergey
У них там 4 человека всего
ичо что 4 человека
вон в semrush в команду девопса искали
команда тоже примерно такого состава
просто трушного админа под контейнеризацию и кубер нет
Sergey
стандартная небольшая команда под проект
Sergey
хм.. кто-то использует континиус интегрейшн с докером ? для деплоя на бой
Alexey
Gleb
Sergey
Sergey
😁😁😁
BiB
Bohdan
Bogdan (SirEdvin)
А что сейчас можно использовать для нормального docker volume драйвера или лучше все-таки через хост?)
Grigorii
Привет, подскажите, а как при старте контейнера подставлять уникальные значения в конфигурационные файлы? Например у меня есть один образ с nginx/php-fpm/redis и я хочу чтобы при старте контейнера в конфигах менялись значения.
В голову приходит подтягивать шаблоны конфигов из гита при сборке образа и sed'ом менять там значения через docker-compose + переменные окружения либо в d-c.yml прямо прописывать, либо в отдельный файл выносить. Это для дев среды.
cd /tmp/configs_templats && for f in $(for i in $(grep -rwln "DOMAINA" --exclude-dir=.* --exclude=Jenkinsfile); do echo $PWD\/$i; done); do sed -i 's#DOMAINA#$BRANCH#g' $f; done && sed -i 's/DB_USER/$DB_USER/g; s/DB_PASSWD/$DB_PASSWD/g ' /tmp/docker_alpha_pet_conf/dev.php
Grigorii
Как-то проще это делается?
Sergey