George
Строчку с вольюм - раскоммеетировать
Макс
version: "3"
services:
db:
image: "postgres:11.2-alpine"
container_name: "my_postgres"
ports:
- "54320:5432"
volumes:
- database_data:/var/lib/postgresql/data
volumes:
database_data: "~/psql_db_file"
Макс
я правелбно понимаю что по пути database_data: "~/psql_db_file" будут храниться файлы бд
Anatolii
Кто то запускал монго в docker-compose, можете мне помочь?
db:
image: mongo
restart: always
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: mongoadmin
MONGO_INITDB_ROOT_PASSWORD: secret
Мне выдает MongoSecurityException
Andor
что именно пишет-то хоть?
Anatolii
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=PLAIN, userName='mongoadmin', source='admin', password=<hidden>, mechanismProperties={}}
Radzhab
George
George
George
Читайте доку. Отличие volume от bind mount
Artur
хай всем.
словил странную ситуацию.
запускаешь контейнер, работает. чеез n времени он ( контейнер) зависает и всё. ни убить его, ни рестарнуть. даже inspect не выводит ничего. в чём прикол ?
в логах демона докера
level=error msg="Handler for GET /v1.39/nodes returned error: This node is not a swarm manager. Use \"docker swarm init\" or \"docker swarm join\" to conne из последнего. но никакого роя у меня нет
Никита
докер какая версия?
Anonymous
Нужно доступ к файлам контейнера с хоста
Anonymous
Был же способ. Делал я это еще.
Anonymous
Но не могу теперь найти в нэте. Помогити.
Anton
Roman
Привет всем, подскажите: нормальная ли практика выставлять Linux capabilities внутри image? Вот так, например:
RUN setcap 'cap_net_bind_service=+ep' $(which traefik)
Andor
в докер-композе кроме .env нет другого способа положить дефолтные параметры для переменных?
r9
George
Anonymous
Вот другая проблема встала, почему нету ни bash ни sh ?
docker exec -it container /bin/bash
docker exec -it container /bin/sh
Roman
Имхо, лучше снаружи - в рантайме
Дело в том, что я же снаружи не вижу бинарник файла, которому хочу выставить capabilities. Проблема с этим должна решаться вот таким в docker-compose.yml
cap_drop:
- all
cap_add:
- NET_BIND_SERVICE
Но я еще мапаю юзера хоста в докер через тот же docker-compose
...
`user: ${CURRENT_UID}`
...
CURRENT_UID=$(id -u):$(id -g) docker-compose up
И получается, что если во время билда image не выставлять
RUN setcap 'cap_net_bind_service=+ep' $(which traefik), то у этого non-root юзера замапанного в контейнер не будет нужных привилегий
Короче, не совсем понимаю как красиво это оформить
Andor
можно файлик примонтировать
какой файлик? мне надо переменные пропихнуть в docker-compose чтобы имена образов и версии брались из них
Andor
ERROR: Cannot extend service 'phpunit' in docker-compose.yaml: services with 'depends_on' cannot be extendedа вы знали?
George
Andor
George
jinja2!!!
George
А ещё лучше не пользоваться компоузом
Andor
сам такой
George
Andor
ну блин для дев-окружения это лучший вариант нынче
George
Мне кажется, что мапать юзера в контейнер - не лучшая идея
Artur
George
И ещё зачем тебе этот cap?
Igor
о/
Ильдар
George
Ты на 80 порт садишься ? Может это можно через проброс портов сделать ?
Ильдар
Andor
но есть нюанс
George
George
George
Ибо все прекрасно работает
Roman
Andor
ну и пусть открывает на интерфейсе контейнера
Andor
тебе-то чо
George
Или host mode ? Я не пойму )
Igor
а есть какие best practices для того как правильно тэгать контейнеры, чтобы в регистре не было помойки?
Igor
как разделять билды для QA и тестов и релизы?
Roman
Оно тебе не нужно
У меня есть просто edge-proxy в контейнере, который должен принмать запросы на 80 и 443. И в контейнере он должен быть запущен не от рута
Radzhab
Best не знаю но я делаю так. ЛогинНаДокерхаб/имяОбраза
Anonymous
В чем?
Не могу залезть в контейнер через bash и sh
Radzhab
Radzhab
Radzhab
Igor
ну и проект состоит из 5 микросервисов, каждый микросервис имеет свои бранчи каждый спринт, которые надо тестить руками, автоматом, показывать клиенту, мерджить в дев и потом в какой-то момент делать тэг в репе кода и в реджистри
Igor
Не заморачивайся
косяк в том, что я Опс и мне как раз надо этим заморочится чтобы не было хуёвин типа New folder (34)
Igor
и чтобы народ руками не срал в репу, а все красиво билдил через Женкинса
Igor
я немного разочаровался, что нельзя папочками делать. ну типа
Project:
|-releases:
| |:1.1.0
| \:1.2.0
\-snapshots:
|branchname
\anotherbranchname
George
Igor
докерхаб говно
это прелестно, конечно же, но причем тут докерхаб?
George
George
как-то так в общем получается
George
блин. телега съела сообщение
George
у тебя два типа образов получается
1. обычные - при сборке метишь тегом = коммит sha
2. релизные - потом перемечиваешь тегом релиза, то что по названиям фиче-веток и latest - перемечиваешь по мере необходимости.
Итог - у тебя два набора тегов - релизные (иммутабельные) и роллинг (latest-master-dev-feature ветки)
George
касательно папочек - тоже можно, т.е. условно у тебя имя образа - это ключ. Сколько уровней вложенности ты там сделаешь непринципально
George
нормальный регистри с такой "вложенной структурой" норм работает
George
но это неудобно для целей тестирования (((((
Ильдар
Roman
George
Ильдар