George
народ тут virtualenv python и докер умудряется сравнивать 🥺😳 что уж говорить о более похожих вещах
Andrey
Неправильно сравнивать эти два тула
почему? и то и то можно использовать для декларативного описания стека, который запускается в контейнерах. Просто так случилось, что docker-compose ставится по умолчанию вместе с docker for desktop, и неокрепшие умы почему-то вместо изучения самого docker'а начинают изучать docker-compose. А это то же самое, что начать изучать ansible
George
"А это то же самое, что начать изучать ansible" только докер-компоуз изучать бессмысленно, т.к. это не универсальный инструмент, ога
Baktiyar
как в контейнере psql создать базу пользователя ?
George
берешь и создаешь. Команды стандартные
Baktiyar
в Dockerfile указываю скрипт initdb.sh внутри #!/usr/bin/env bash createdb doscredo_back; psql -c "create user doscredo_back with password 'doscredo_back'"; psql -c 'grant all privileges on database doscredo_back to doscredo_back'; все стандартно
George
ну, примерно так, ога
George
ну, все равно initdb.sh нужно кинуть в специальный каталог, откуда штатный образ своим энтрипойнтом его выполнит
George
думаю, что у нас просто проблема в терминологии....
Baktiyar
получается вот docker-compose.yml version: '3' services: db: image: postgres restart: always ports: - "5435" environment: - POSTGRES_USER=doscredo_back - POSTGRES_PASSWORD=doscredo_back - POSTGRES_DB=doscredo_back - POSTGRES_PORT=5432 web: restart: always build: context: . dockerfile: Dockerfile volumes: - .:/code/doscredo_back ports: - "8003:8003" depends_on: - db
Baktiyar
который вызывает Dockerfile # Build from python image. FROM python:3-onbuild # Set project name ENV DJANGO_SETTINGS_MODULE=ebrr.settings ENV DJANGO_CONFIGURATION=BaseConfiguration # Set volume for database and static files. RUN mkdir -p /static /media /django_logs /code/doscredo_back WORKDIR /code/doscredo_back COPY ./requirements.txt /code/doscredo_back/requirements.txt # Install python dependencies RUN pip install --upgrade pip RUN pip install -r requirements.txt # Copy source code COPY . /code/doscredo_back CMD bash initdb.sh CMD bash run.sh
George
CMD bash initdb.sh CMD bash run.sh
George
это так не работает
George
CMD как и ENTRYPOINT может быть только один
Baktiyar
а как правильно должно быть ?
George
хуже - ENTRYPOINT + CMD клеются вместе и становятся одной командой, которая при старте контейнера вызвается
George
а как правильно должно быть ?
прочитать документацию
George
1. на докерфайл - как их писать 2. на образ постгреса - как его расширять
Andrey
вот я как раз про это и говорил, люди лезут в d-c не понимая как докер работает
Baktiyar
thanx :)
Andrey
d-c это не кнопка "сделать зашибись", нужно знать, что такое образ, как он собирается, как выполняется контейнер, что такое volume. Элементарные вещи типа как указать psql имя сервера тоже нужны. Ковыряние d-c не даст этих знаний
Baktiyar
как сказал начал только вчера изучать, а сроки жмут
Andrey
да какая разница, если ты начал изучать математику с интегралов, не проходя таблицу умножения
Baktiyar
George
вообще на это есть универсальный ответ
George
не можешь сам - заплати тому, кто может
George
#compost
👍🔥
да, это я
Отличный ник
Spirit
Отличный ник
Группа такая музыкальная есть
pa[aad
всем привет, есть у кого-то пример как для jwilder/nginx-proxy сделать подпапку на контейнер ?
Michael
Файловая система одна. Макось. Кажись нашёл проблему. Если справлюсь, отпишу тут
В общем всё дело в том, что я дурак, а кончилось выделенное место под докер. В настройках было установлено 64 гига и они кончились. Я забыл отписать сразу
Dmytro
Привет. У меня есть JS проект. Когда я билжу Dockerfile, то инструкция RUN npm install создает папку node_modules. Папка живет до команды docker run -v — так как я потом, не имея этой папки на host, делаю mount в контейнер. В итоге в контейнере нет папки node_modules. Этот вопрос можно решить через ENTRYPOINT. А как еще? Например, чтобы docker build мог на моем host создавать папки — но я не нагуглил.
George
docker build на твоем хосте не может создавать папки. точка
lm
как сделать без потери данных, чтобы volume которое local шарилось между нодами в swarm?
George
Нфс ? Я правда не знаю
Andrey
как сделать без потери данных, чтобы volume которое local шарилось между нодами в swarm?
сворм не предоставляет решения для общих томов в кластере, используйте сторонние решения
lm
понял, благодарю
Ильдар
Подскажите пожалуйста если есть 10 проектов, у каждого свой docker compose например с MySQL+php+nodejs будет ли это есть значительно больше ресурсов чем 1 общий docker compose?
Eugene
есть какая-нибудь возможность в едином swarm для разных сервисов на разных нодах использовать один и тот же порт? например, сервис с хапрокси, слушающий 4444 и какой-нибудь другой сервис за ним, который тоже слушает этот же порт, оба на разных машинах получаю либо port 'yyy' is already in use by service 'xxx' as a host-published port для dnssr и mode: host либо port 'yyy' is already in use by service 'xxx' as an ingress port для дефолтного routing mesh
inqfen
Вроде там так нельзя
inqfen
Главное, зачем вообще?
Eugene
Вроде там так нельзя
вроде бы этому мешает mesh, т.к. с ним есть доступ к сервису по порту через любого из участников swarm и с выключенным mesh, по идее, таких препятствий быть не должно, ан нет, всё равно не даёт поднять сервис на таком же порту, already in use by service ... as a host-published port
Eugene
Главное, зачем вообще?
чтобы иметь доступ к родному порту сервиса безотносительно хапрокси, например
inqfen
Так раскидай на разные
Stanislav
А можно как-то на докер попадать из браузера не через http://ocalhost::port а например http://my-loacal-site ?
Юрий
Прокси?
inqfen
hosts
Stanislav
Да, я уже нагуглил что вроде как единственный вариант - проксировать, даже ссылка какая-то есть на гит https://github.com/cristianoliveira/ergo
Stanislav
Но как-то оно заморочисто получается
inqfen
hosts + обычный реверс прокси на nginx
inqfen
зачем что-то стороннее гуглить
Stanislav
реверс - это "в обратку"?.. что значит реверс?
Stanislav
Обратный прокси
Stanislav
Понял
Stanislav
Основную идею понял, nginx настроить скорее всего смогу.. Только теперь засомневался на сколько оно имеет смысл) Хех) Уже возможно может быть сайт просто поднять на nginx без докера, чем настраивать nginx на докер)
Stanislav
Хотя лучше уже пользоваться уже локалхот + порт и не выдумывать. Я просто думал есть решение совсем какое-то простое. Ну а там посмотрим. Спасибо за ответ!)
Stanislav
hosts + обычный реверс прокси на nginx
А хотя, если выкладывать докер на хостинг, там тоже ведь будет обратный прокси nginx?
inqfen
шта
inqfen
Как контейнеры поднимешь так и будет
Stanislav
Все, я сам все понял
Юрий
Юрий
Простите.
Anonymous
Всем привет. Год назад пользовался докером на убунту и все работало без проблем с первого раза, есть мнениє что работа под виндой хуже или не так стабильна и очень много нюансов вплане пред настройки. У кого єсть експириенс в роботе под виндой посоветуйте что надо зделать в первую очередь до установки докера во время и после, имею ввиду то что не описано в мануале по установке)))
Anonymous
У меня уже полгода крутятся на винде10 докер контейнеры. Но это для поигрулек и учёбы, никакого продакшна.
Anonymous
Проблем не видел.
Anonymous
ну начнем с момента установки разница между линукс контейнерами и виндовс?)
George
Igor
всем привет, подскажите плз как в ENV засунуть значение proxy_pass из конфига нджинкса? location /api { proxy_pass http://127.0.0.1:5000;
inqfen
В env или наоборот его туда из env подставить?
inqfen
При старте
Igor
при старте подставить в энв, тк значение может меняться