@docker_ru

Страница 1209 из 1375
Макс
03.05.2019
09:34:52
доброго дня с празниками !!!!!

подскажите хочу постгрес в докер компос поднять есть у кого нибудь рабочий пример с docker-compose.yml хотябы часть где про посгрес что бд хранилась локально на диске

Макс
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
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={}}

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 нет другого способа положить дефолтные параметры для переменных?

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
можно файлик примонтировать
какой файлик? мне надо переменные пропихнуть в docker-compose чтобы имена образов и версии брались из них

ERROR: Cannot extend service 'phpunit' in docker-compose.yaml: services with 'depends_on' cannot be extendedа вы знали?

r9032504423
03.05.2019
12:22:16
какой файлик? мне надо переменные пропихнуть в docker-compose чтобы имена образов и версии брались из них
.env ? я думал дефолты для приложения, извини. можно попробовать шаблонизировать docker-compose, например

Google
George
03.05.2019
12:25:22
jinja2!!!

А ещё лучше не пользоваться компоузом

Andor
03.05.2019
12:25:33
сам такой

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
о/

George
03.05.2019
12:26:47
Ты на 80 порт садишься ? Может это можно через проброс портов сделать ?

Andor
03.05.2019
12:27:00
Yaml anchors в помощь
да я так и делаю, конечно же

Andor
03.05.2019
12:27:08
но есть нюанс

zizo
03.05.2019
12:28:02
Мне кажется, что мапать юзера в контейнер - не лучшая идея
Так это же для безопасности советуют, нет? Иначе внутри контейнера будет работать "почти root". А cap нужен, чтобы рарешить порты меньше 1024 открыть, например

zizo
03.05.2019
12:29:15
Хинт: тебе не нужны порты в контейнере меньше 1024!
Если оставлят рут внутри контейнера, то он открывает порты, если нет, то нет

George
03.05.2019
12:29:39
Если оставлят рут внутри контейнера, то он открывает порты, если нет, то нет
В смысле ты без рута вообще порты открыть не можешь ? Это что-то новенькое

Google
George
03.05.2019
12:29:48
Ибо все прекрасно работает

Andor
03.05.2019
12:29:53
ну и пусть открывает на интерфейсе контейнера

тебе-то чо

George
03.05.2019
12:30:07
меньше 1024
Оно тебе не нужно

Или 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

Igor
03.05.2019
12:32:53
Best не знаю но я делаю так. ЛогинНаДокерхаб/имяОбраза
ну вот как бы да, но как бы нет. у нас приватный регистри, чтобы случайно не выложить код

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
Не могу залезть в контейнер через bash и sh
образ какой? если это дистролесс, то там и не должно быть баш-сш

Google
Igor
03.05.2019
13:07:25
докерхаб говно
это прелестно, конечно же, но причем тут докерхаб?

George
03.05.2019
13:07:35
У меня есть просто edge-proxy в контейнере, который должен принмать запросы на 80 и 443. И в контейнере он должен быть запущен не от рута
не понял - кому нужно на 80 и 443? куб или стендэлоун докер? Я не устану повторять, что ерез директиву -p (ports) ты можешь снаружи замаппить любой порт на любой порт нвутри контейнера

как-то так в общем получается

блин. телега съела сообщение

у тебя два типа образов получается 1. обычные - при сборке метишь тегом = коммит sha 2. релизные - потом перемечиваешь тегом релиза, то что по названиям фиче-веток и latest - перемечиваешь по мере необходимости. Итог - у тебя два набора тегов - релизные (иммутабельные) и роллинг (latest-master-dev-feature ветки)

касательно папочек - тоже можно, т.е. условно у тебя имя образа - это ключ. Сколько уровней вложенности ты там сделаешь непринципально

нормальный регистри с такой "вложенной структурой" норм работает

но это неудобно для целей тестирования (((((

zizo
03.05.2019
13:12:54
не понял - кому нужно на 80 и 443? куб или стендэлоун докер? Я не устану повторять, что ерез директиву -p (ports) ты можешь снаружи замаппить любой порт на любой порт нвутри контейнера
Да, еще раз подумал и понял, что, наверно, самый простой выход просто переставить порты у аппликейшена в докере и замапить их. Спасибо.

Igor
03.05.2019
13:13:05
Почему нельзя?
хз. не дает и всё

ildar
03.05.2019
13:13:26
Вот другая проблема встала, почему нету ни bash ни sh ? docker exec -it container /bin/bash docker exec -it container /bin/sh
Потому что такой образ в основе, где нет ни того, ни другого?

Igor
03.05.2019
13:13:38


Страница 1209 из 1375