Oleg
Ребят, есть один вопрос. Можно ли примонтировать раздел к образу так, чтобы на хост системе появились файлы из образа?
Oleg
используй volume Люк !
Это я и так делаю. Я наверное неправильно выразился. У меня есть файлы в образе в определённой папке и я хочу чтобы при монтировании эти же файлы появились на хост системе, но чё-то не получается
Oleg
Не могу точно сказать, так как запускаю через ansible, но там всё-таки volume
kSandr
у докера есть 2 механизма , 1 - бинд маунт, когда ты монтируешься к хостовой фс и 2 - это волумы , вот если у тебя волумы определены в докерфайле и при старте ты используешь именно их , то содержимое волума переносится при первом запуске
kSandr
Не могу точно сказать, так как запускаю через ansible, но там всё-таки volume
Вот вернись, почитай ансибловский плейбук и как сможешь говорить точно, приходи ...
kSandr
а вообще раз уж юзаешь ансибл, то можно и копирнуть содержимое папки контейнера перед стартом, но волум более православный путь
kSandr
Ну да, хочется почище
ну вот это оно ... у докера есть сущность volume вот это про неё история
Oleg
ну вот это оно ... у докера есть сущность volume вот это про неё история
- name: Run core image for generating migrations docker_container: name: "{{ images.core.container }}" image: "{{ images.core.image }}" network_mode: host volumes: - "{{ MIGRATION_DIR }}:/home/core/database/alembic/versions" command: "alembic revision --autogenerate -m {{ ansible_date_time.iso8601_basic_short }}"
kSandr
нет ... это бинд моунт
kSandr
если ты сделаешь docker inspect на контейнер, то он отобразится как bind
Oleg
нет ... это бинд моунт
Понял, спасибо, щас загуглю, как сделать правильно
kSandr
и еще он должен быть определен в докерфайле директивой VOLUME
Hopf
Привет. Подскажите, где и какие есть гайды как тюнить настройки докера (настройка со стороны демона, не тюнинг приложения внутри докера) под перфоманс. Интересует работа с дисками, сеть
George
1. хостовая сеть. Бридж тупит 2. выбрать правильный сторедж драйвер. Но это индивидуально. devicemapper, overlay2 - как правило достаточно
Hopf
1. хостовая сеть. Бридж тупит 2. выбрать правильный сторедж драйвер. Но это индивидуально. devicemapper, overlay2 - как правило достаточно
А вместо хостовой сети есть другие варианты? А то я специально сетевые стеки приложений не хочу смешивать
Hopf
Если оверлей взять?
George
можно. Но будет медленнее
Hopf
А есть ссылки на то, как бридж тупит? Это из-за большого количества правил в iptables? Или другая причина? И как оно живет на 10g?
George
В том числе и из-за правил айпитейблз
George
да, в кошмарном бреду
George
открой доку на доцкер
Tadeusz
доскер
George
кто-то красивее написал
George
лохцкер
Amateur
как из build args вставить в переменную окружения в dockerfile? что-то типо такого ENV API_URL=${backend_url} где backend url это build args
manefesto
Ребята, напомните мне, можно ли пробросить докер порт на локалхост хоста ?
manefesto
docker -p 127.0.0.1:3000:3000 ?
Amateur
а есть способ инициализировать переменные окружения до того как выполнится RUN npm run build в Dockerfile?
Amateur
потому что я ввожу переменные окружения при запуске докера, но я их не могу достать dockerfile
manefesto
@kotanskiy покажи пример
Amateur
@kotanskiy покажи пример
docker build && docker run —env API_URL=<some_url>
Amateur
API_URL нима в dockerfile
manefesto
При билде указывай
George
docker build && docker run —env API_URL=<some_url>
правильно, потому что тебе —build-arg нужен
George
что ты творишь
George
разберись с тем какое время жизни у ENV и ARG. Это не сложно
Ruslan
Подскажите, есть ли смысл пытаться найти способ увести в фон процессы, чтобы запустить в СМД два процесса, которые держат shell?
Ruslan
Или просто в два контейнера их разнести?
manefesto
use supervisor Luke
George
use supervisor Luke
вариант
Ruslan
зачем
Это не очень интересная практика, как я уже понял. Правильно?)
George
ну, ты хочешь #странного
Ruslan
Ну я хотел просто gunicorn и celery в одном держать... Мысль дилетантская была
Aleksey
коллеги у меня на хосте 100500 сетевых интерфейсов. как мне сопоставить конкретный сетевой интерфейс с конкретным контейнером ?
George
Ну, вообще можно, но это изврат
Aleksey
не зачем а как
Aleksey
с зачем я разберусь
George
Ты хочешь трафик каждого контейнера считать ?
Aleksey
Нет. Я хочу понять какой интерфейс на хосте у этого контейнера
Aleksey
Не больше ни меньше
Aleksey
Баш да
Andrey
Цель какая
Aleksey
я может чего в нём не нашёл но прямой путь не работает
Aleksey
не получатеся сказать что veth4642d4f6 это мой контейнер
Andrey
не даёт
Что не даёт
Aleksey
Что не даёт
а что даёт ?
Andrey
а что даёт ?
Вопрос в чём
Aleksey
Андрей, я плохо сформулировал что хочу?
Sebor▂▅▇█▓▒░
А инспект сети не показывает?
Aleksey
нет это то что я проверил в первую очередь
Ilya
Привет! Вопрос архитектурный больше, ну и совета спросить. Дано: бэк на python (два образа уже подготовил, app и rabbitmq consumer). И фронт на js. Цель: сделать генератор сайтов, т.е. три контейнера с новым конфигом == новый сайт. Создавать это должен менеджер, у которого нет технических знаний. Т.е. зашёл на простую админку, ввел некоторые данные и нажал "создать сайт". И уже под капотом понеслось: 1. Создалась отдельная БД 2. Сгенерировался конфиг с доступами и данными, которые ввел менеджер 3. Создались контейнеры бэка и фронта с конфигами. 4. Прописались на nginx Я правильно понимаю, что кроме как писать свой велосипед, других решений нет? У меня пока два варианта: 1. Создать Jenkins(ну или любую другую ci) джобу. Которая будет эти шаги дергать + простой ui для менеджера (придумаю позже на чем проще). Который будет дергать эти джобки. 2. Полностью свой велосипед, на чем-нибудь вроде flask. Ну и сейчас выбираю между swarm / k8s. Кластер будем свой поднимать. Посмотрел бегло тут: [тут должна быть ссылка на хабр] все решения больше для администрирования (какое-то точно прикрутим, чтобы наблюдать за этим зоопарком). Итого: 1. Не изобретаю ли велосипед? И две описанные реализации -- это единственное возможное? 2. В контексте задачи для генерации сайтов, что лучше подойдет: swarm или k8s? Посмотрел, что есть два пакета питоновских: docker и kubernetes. В целом с хорошей докой (На первый взгляд). Цель в использовании swarm/k8s простая. Если вдруг (почти не реальная ситуация у нас, малые нагрузки), где-то бэк или фронт завалился, просто докинуть реплику в ручном режиме. В общем, кто что посоветует. Сразу прошу прощения, если формулировки где-то странные, новая тема, неделю только разбираюсь. Пока только все в образы запихнул и кластер swarm сделал, где смог пока с захардкоженными конфигами запуститься. И вот подумалось, а не изобретаю ли колесо? Всем заранее спасибо за критику и советы.