Roman
Конфигов по 100 файлов где требуется откат и версионность окружения тоже с увязкой по артефактам.
так, git же у меня для версий есть... я с того и начал, что не понимаю юскейза
NM
так, git же у меня для версий есть... я с того и начал, что не понимаю юскейза
Это хорошо, но исполняемую среду с git не построишь за 3 минуты как и откат на предыдущую версию окружения ОС.
Roman
пока получалось в виде, например: git pull, docker build, docker run (как правило, даже git pull | ./restart.sh)
Ryskin Artem
Эээ опять компост. Не надо его это зло
А чем композ плох? Разве он не просто удобный конфигуратор? Который потом в команду все переводит?
Ryskin Artem
неудобный, и инеогда криво переводит
В каком контексте не удобный? В теплое на прод? Или в конфигурирование в целом?
Ryskin Artem
Он не работает как надо
Вот этого не знал. Пример можно плз?
Igorek
Он не работает как надо
)) а докер сообщество в курсе?)
Sebor▂▅▇█▓▒░
)) я понимаю , но в данном проекте без него никак )
Я вот своих разрабов отучил билдитьт образы через компоуз. Делаю это ансиболью в сиай и пушу в регистри
Levan (Leo)
А в чом плюс или минус / просто билдить по отдельности контеинера или одной командой всё вместе ?
George
https://habr.com/ru/post/467607/#first_unread
George
немного наездов на компоуз тут есть
lenar
подскажите какие non-commercial docker-registry стоит использовать во внутренней сети. читал в книге что можно развернуть его в самом докере - на сколько это норм вариант. знаком с нексусом, может в него не плохой вариант? правда именно с нексус докер регистри я с ним не работал
Andrey
1 команда ран и он есть
Andrey
у нас в гитлабе
George
gitlab
lenar
у нас в гитлабе
не знал что в гитлабе он есть. но только что почитал о нем, спасибо 👍
Anonymous
У меня в контейнере сейчас проблемы с permission error тк работу делает www-data а я на host-OS marat.
Anonymous
Как сделать чтобы при биндинге на директорию игнорился факт что файл марата и в контейнере был www-data всегда?
George
сделай ID пользователя одинаковым на хосте и в контейнере
George
PROFIT
George
или вообще забудь про шарить файлы между хостом и контейнером
George
берешь и делаешь. Например, docker run -u
George
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
George
а еще можешь захачить docker-entrypoint.sh и передавать UID через переменные окружения
Anonymous
норм
Grigory
Ребята, как в конфиге docker-compose указать, что домены: site1.local site2.local siteN.local Резолвились внутри на один контейнер. С хост машины все работает т.к. все запросы идут на контейнер с nginx по 80 порту, но внутри другого контейнера как ему указать, что эти домены находятся в контейнере nginx?
George
легко
George
extra_hosts ключ тебе силу даст
Grigory
там же ip прописвается?
Grigory
получается nginx нужно жестко зафиксировать ip?
Grigory
Спасибо за подсказку, сделал немного по другому: version: '3' services: nginx: image: nginx:latest networks: domains-network: aliases: - site1.local - site2.local ports: - "80:80" links: - app app: build: ./images/app networks: - domains-network networks: domains-network:
Grigory
да, так тоже может будет работать
Да, так работает, проверил
Anonymous
Всем привет. Нужна помощь. Необходимо настроить реверс прокси для контейнеров, количество которых постоянно меняется
Anonymous
А вот с этой штукой кто-то работал?
Anonymous
github jwilder/nginx-proxy
Dan
Работал
Aleksey
Работал. Возьми траефик
manefesto
github jwilder/nginx-proxy
Мне nginx не нравится тем что он не умеет на лету резолвить dns после пересоздания контейнера
manefesto
Это прям боль и унижение.
manefesto
Пока колюсь и плачу. Но смотрю на nomad. Тестирую с traefik. Полет нормальный
Maxim
Всем привет! Подскажите, здесь можно спросить свободного фрилансера? )
George
Лучше в devops jobs :-)
Егор
Привет. Запускаю докер. Сервис поднимается на 5000 порту внутри контейнера. Я делаю маппинг 5001:5000. Но сервис по-прежнему доступен на 5000, а не на 5001. docker-compose -f .deploy/docker-compose.full.yml up version: '2' services: storage-local: image: "mongo:4.0.2" ports: - "27017:27017" storage-api-local: environment: - ENV_FILE=.deploy/.envs/local.env build: context: .. dockerfile: .deploy/Dockerfile ports: - "5001:5000" volumes: - ..:/app depends_on: - storage-local network_mode: host Dockerfile: FROM ubuntu:18.04 AS BUILD RUN apt-get update && apt-get install make RUN apt-get install -y python3.7 python3-pip RUN python3.7 -m pip install —upgrade pip RUN apt-get install -y git COPY . /app WORKDIR /app RUN PIP=pip PYTHON=python3.7 make deps CMD PIP=pip PYTHON=python3.7 make run
NM
Выкинь композ, подними ручками
Егор
Проблема с network_mode. Как я сейчас выяснил
Арсен
Привет, может кто-нибудь объяснить начал изучать docker есть пару вопросов которые не могу понять: 1) Как правильно собрать контайнер для связки ubuntu, nginx, php, psql? Конкретно не понятно то как будет собираться контайнер на локалке и на vps так как vps уже на ubuntu? 😐 2) Почему многие создают образ с nginx+php или apache+php, а не разбить их в отдельные образы с разными DockerFile? 3) Как поднять два разных проекта? На vagrant создаются 2 отдельные машины с разными ip, а тут не могу догнать 4) Как работает докер? Я создал образ просто с ubuntu собрал запустил и вылетает ошибка с кодом 0 насколько я понимаю, чтоб контейнер жил нужно через cmd запускать процесс? Подойдет любая инфа p.s. искал везде
Егор
Вот такие строчки есть RUN PIP=pip PYTHON=python3.7 make deps CMD PIP=pip PYTHON=python3.7 ENV_FILE=$ENV_FILE make run Прикол в том, что при блиде $ENV_FILE передаётся в make. А при run, почему-то внутри make ничегошеньки нет
George
слишком сложно ) надо было делать проще )
Егор
@gecube Это нетипичное поведение, да?
George
Ты делаешь какую-то чушь + сам не понимаешь что. Нужно сделать следующее - остановиться, подумать, переделать. Повторюсь, что идеально - разделить запуск и сборку и попробовать вне компоуза, руками. Отладишься - соберёшь в кучу, с компоузом, отдашь разрабам Делов на час. Макс два
Anonymous
Все привет объясните пожалуйста, вот я качаю образ ngnx php mysql, и получается в каждом образе хранится какая ОС ?
Dan
Да
Арсен
Привет, хочу поднять локально ubuntu php nginx, думаю правильно будет разбить на 3 образа, но не могу понять одну вещь например DockerFile для ubunru в начале пишется FROM и я указываю ubuntu:18.04, но потом мне нужно создать DockerFile для php и там если я указываю FROM php:7.3.13-fpm из реестра, то в нем указано FROM debian:buster-slim зачем мне debian как на основе моего образа с ubuntu установить туда php? Писать все в dockerFile убунты?
Tadeusz
зачем тебе привязываться к ubuntu?
Арсен
зачем тебе привязываться к ubuntu?
ну я пытаюсь поднять сервак на ubuntu, разве будет правильным, что php работает на debian, nginx на alpine?
Tadeusz
та хоть на alpine
Арсен
А на что это по твоему мнению влияет?
я думал не будет потом сюрпризов из-за разных дестребьютеров
Dan
я думал не будет потом сюрпризов из-за разных дестребьютеров
Чтобы не полагаться на интуицию и случай, я рекомендовал бы обратиться к официальной документации, и детально изучить принципы работы докера. Неплохо бы ещё полистать Танненбаума хотябы по-диагонали, чтобы ознакомиться с внутренним устройством операционных систем.