Макс
03.05.2019
09:34:52
доброго дня с празниками !!!!!
подскажите хочу постгрес в докер компос поднять есть у кого нибудь рабочий пример с docker-compose.yml
хотябы часть где про посгрес что бд хранилась локально на диске
George
03.05.2019
09:40:22
Макс
03.05.2019
09:42:25
не могу нормальный пример найти
Google
Andor
03.05.2019
09:42:37
А ищешь как?
Макс
03.05.2019
09:43:09
docker compose postgresql
https://docs.docker.com/samples/library/postgres/
вот тут не пойму как сделать image 11 potgres
version: "3"
services:
db:
image: postgres11
restart: always
environment:
POSTGRES_DB: dev
POSTGRES_USER: potgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
# volumes:
# - database_data:/var/lib/postgresql/data
Radzhab
03.05.2019
09:44:25
https://www.google.com/search?q=docker+compose+postgres+11&oq=docker+compose++11&aqs=chrome.3.69i57j0l3.7191j0j4&sourceid=chrome-mobile&ie=UTF-8
Макс
03.05.2019
09:48:41
George
03.05.2019
09:52:24
Строчку с вольюм - раскоммеетировать
Макс
03.05.2019
10:02:51
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
03.05.2019
10:08:37
Кто то запускал монго в docker-compose, можете мне помочь?
db:
image: mongo
restart: always
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: mongoadmin
MONGO_INITDB_ROOT_PASSWORD: secret
Мне выдает MongoSecurityException
Andor
03.05.2019
10:25:18
что именно пишет-то хоть?
Google
Anatolii
03.05.2019
10:25:35
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=PLAIN, userName='mongoadmin', source='admin', password=<hidden>, mechanismProperties={}}
Radzhab
03.05.2019
10:32:48
George
03.05.2019
10:35:24
Читайте доку. Отличие volume от bind mount
Artur
03.05.2019
11:29:17
хай всем.
словил странную ситуацию.
запускаешь контейнер, работает. чеез 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 из последнего. но никакого роя у меня нет
Никитяо
03.05.2019
11:36:16
докер какая версия?
ganskiy2
03.05.2019
12:04:01
Нужно доступ к файлам контейнера с хоста
Был же способ. Делал я это еще.
Но не могу теперь найти в нэте. Помогити.
Anton
03.05.2019
12:07:53
zizo
03.05.2019
12:09:07
Привет всем, подскажите: нормальная ли практика выставлять Linux capabilities внутри image? Вот так, например:
RUN setcap 'cap_net_bind_service=+ep' $(which traefik)
Andor
03.05.2019
12:09:14
в докер-композе кроме .env нет другого способа положить дефолтные параметры для переменных?
r9032504423
03.05.2019
12:11:29
George
03.05.2019
12:12:26
ganskiy2
03.05.2019
12:14:08
Вот другая проблема встала, почему нету ни bash ни sh ?
docker exec -it container /bin/bash
docker exec -it container /bin/sh
zizo
03.05.2019
12:19:17
Имхо, лучше снаружи - в рантайме
Дело в том, что я же снаружи не вижу бинарник файла, которому хочу выставить 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
03.05.2019
12:20:23
ERROR: Cannot extend service 'phpunit' in docker-compose.yaml: services with 'depends_on' cannot be extendedа вы знали?
r9032504423
03.05.2019
12:22:16
Google
George
03.05.2019
12:22:16
Andor
03.05.2019
12:22:48
George
03.05.2019
12:25:22
jinja2!!!
А ещё лучше не пользоваться компоузом
Andor
03.05.2019
12:25:33
сам такой
George
03.05.2019
12:25:42
Andor
03.05.2019
12:25:45
ну блин для дев-окружения это лучший вариант нынче
George
03.05.2019
12:26:03
Мне кажется, что мапать юзера в контейнер - не лучшая идея
Artur
03.05.2019
12:26:29
George
03.05.2019
12:26:30
И ещё зачем тебе этот cap?
Igor
03.05.2019
12:26:42
о/
ildar
03.05.2019
12:26:43
George
03.05.2019
12:26:47
Ты на 80 порт садишься ? Может это можно через проброс портов сделать ?
Andor
03.05.2019
12:27:00
ildar
03.05.2019
12:27:08
Andor
03.05.2019
12:27:08
но есть нюанс
zizo
03.05.2019
12:28:02
George
03.05.2019
12:28:39
zizo
03.05.2019
12:29:15
George
03.05.2019
12:29:39
Google
George
03.05.2019
12:29:48
Ибо все прекрасно работает
zizo
03.05.2019
12:29:52
Andor
03.05.2019
12:29:53
ну и пусть открывает на интерфейсе контейнера
тебе-то чо
George
03.05.2019
12:30:07
Или host mode ? Я не пойму )
Igor
03.05.2019
12:31:02
а есть какие best practices для того как правильно тэгать контейнеры, чтобы в регистре не было помойки?
как разделять билды для QA и тестов и релизы?
zizo
03.05.2019
12:32:07
Оно тебе не нужно
У меня есть просто edge-proxy в контейнере, который должен принмать запросы на 80 и 443. И в контейнере он должен быть запущен не от рута
Radzhab
03.05.2019
12:32:08
Best не знаю но я делаю так. ЛогинНаДокерхаб/имяОбраза
ganskiy2
03.05.2019
12:32:16
В чем?
Не могу залезть в контейнер через bash и sh
Radzhab
03.05.2019
12:32:33
Igor
03.05.2019
12:32:53
Radzhab
03.05.2019
12:33:15
Igor
03.05.2019
12:34:13
ну и проект состоит из 5 микросервисов, каждый микросервис имеет свои бранчи каждый спринт, которые надо тестить руками, автоматом, показывать клиенту, мерджить в дев и потом в какой-то момент делать тэг в репе кода и в реджистри
Не заморачивайся
косяк в том, что я Опс и мне как раз надо этим заморочится чтобы не было хуёвин типа New folder (34)
и чтобы народ руками не срал в репу, а все красиво билдил через Женкинса
я немного разочаровался, что нельзя папочками делать. ну типа
Project:
|-releases:
| |:1.1.0
| \:1.2.0
\-snapshots:
|branchname
\anotherbranchname
George
03.05.2019
13:06:37
Google
George
03.05.2019
13:06:57
Igor
03.05.2019
13:07:25
George
03.05.2019
13:07:35
как-то так в общем получается
блин. телега съела сообщение
у тебя два типа образов получается
1. обычные - при сборке метишь тегом = коммит sha
2. релизные - потом перемечиваешь тегом релиза, то что по названиям фиче-веток и latest - перемечиваешь по мере необходимости.
Итог - у тебя два набора тегов - релизные (иммутабельные) и роллинг (latest-master-dev-feature ветки)
касательно папочек - тоже можно, т.е. условно у тебя имя образа - это ключ. Сколько уровней вложенности ты там сделаешь непринципально
нормальный регистри с такой "вложенной структурой" норм работает
но это неудобно для целей тестирования (((((
ildar
03.05.2019
13:12:48
zizo
03.05.2019
13:12:54
Igor
03.05.2019
13:13:05
George
03.05.2019
13:13:05
ildar
03.05.2019
13:13:26
Igor
03.05.2019
13:13:38