Владимир
17.05.2019
21:23:14
Покаж весь композ
Ilya
17.05.2019
21:38:46
version: '3'
services:
db:
image: api-test:latest
restart: always
expose:
- "5432"
environment:
POSTGRES_USER: *********
POSTGRES_PASSWORD: *********
POSTGRES_DB: *********
networks:
app_net:
ipv4_address: 192.168.100.15
test:
build:
dockerfile: tests/api/containers/test/Dockerfile
context: .
ports:
- "8080:443"
depends_on:
- "db"
networks:
app_net:
ipv4_address: 192.168.100.2
start_dependencies:
image: dadarek/wait-for-dependencies
depends_on:
- db
command: 192.168.100.15:5432
networks:
app_net:
ipv4_address: 192.168.100.3
networks:
app_net:
ipam:
driver: default
config:
- subnet: "192.168.100.0/24"
Владимир
17.05.2019
21:42:29
А что в логах контейнера db?
ildar
18.05.2019
03:34:18
Google
Lucas
18.05.2019
05:50:46
Вот выше посмотрел на конфиг и вопрос. А зачем указывают subnet? Не все ли равно какой ip внутри контейнера?
Radzhab
18.05.2019
06:34:48
Коллеги, подскажите как собрать образ с докером
допустим есть официальный реп
как его распаковать и посмотреть что там внутри)
ildar
18.05.2019
07:07:26
Уточни вопрос) эти три предложения никак не связаны между собой.
Владимир
18.05.2019
07:21:32
Dmitry
18.05.2019
09:00:07
Привет. Кто-нибудь может посоветовать утилиту для отслеживания изменений в коде и перезапуска контейнеров во время разработки?
Денис
18.05.2019
09:01:08
hot rebuild?)
Sergey
18.05.2019
09:01:20
Денис
18.05.2019
09:01:53
gitlab-ci + docker compose
Sergey
18.05.2019
09:03:02
Dmitry
18.05.2019
09:05:44
Денис
18.05.2019
09:06:19
Можно настроить на любую ветку или тэг
Google
Денис
18.05.2019
09:06:30
Или на любой коммит вообще
Sergey
18.05.2019
09:07:29
Dmitry
18.05.2019
09:10:18
Есть какое-нибудь решение не связанное с git? Я веду разработку, во время неё мне нужно иметь доступ к результату. Я бы не хотел коммитить код, результат работы которого я не вижу и не могу протестировать.
?
Sergey
18.05.2019
09:11:06
разработай, получи результат
запуш и сделай себе образ
нафига напрямую в докере то разрабатывать
ты хочешь странного если тебе после каждого переписывания двух строк кода надо ребилдить образ чтобы проверить результат
Dmitry
18.05.2019
09:19:00
В разных проектах используются разные сервисы, пакеты, библиотеки. К тому же, многое завязано на взаимодействии сервисов. Разворачивать для каждого проекта стек этих компонентов локально будет проблематично. Эффективнее разрабатывать приложения в контейнерах, это удобно и в таком случае они по определению всегда готовы к деплою и будут работать так, как это было запланировано.
https://medium.com/travis-on-docker/why-and-how-to-use-docker-for-development-a156c1de3b24
Sergey
18.05.2019
09:19:49
Dmitry
18.05.2019
09:20:33
> Я веду разработку, во время неё мне нужно иметь доступ к результату. Я бы не хотел коммитить код, результат работы которого я не вижу и не могу протестировать.
Sergey
18.05.2019
09:22:08
Dmitry
18.05.2019
09:25:57
Ну, такое себе решение. Много лишних действий, затрудняет разрабоку.
У многих инструментов, которыми я пользовался, есть режим отслеживания изменений и перезапуска. Я хочу узнать, работал ли кто-нибудь с чем-то подобным для Docker?
https://medium.com/lucjuggery/docker-in-development-with-nodemon-d500366e74df
Советуют использовать volumes для возможности влиять на работу контейнеров через локальные правки.
Sergey
18.05.2019
09:35:03
ildar
18.05.2019
09:35:08
Ты подробнее кейс расскажи. У всех разработка, да разная.
Dmitry
18.05.2019
09:52:23
Ты подробнее кейс расскажи. У всех разработка, да разная.
Я говорю об общих вещах. Нужна утилита, которая будет отслеживать изменения в файлах, на которых строится образ, и перезапускать контейнер. Желательно в связке в docker-compose.
В своём проекте я использую mariadb, flask + uwsgi, nginx.
Google
Sergey
18.05.2019
09:52:52
А так по аналогии с nodemon для nodejs
Andrey
18.05.2019
09:55:04
всем привет. подскажите плз, как отучить докер добавлять правило в nat цепочку с dnat порта?
то есть я хочу ограничить доступ с определенных сетей к порту
Sergey
18.05.2019
09:55:22
Но перезапускать прям контейнер - дико неудобно и медленно
Andrey
18.05.2019
09:55:25
а не открывать на весь инет
Dmitry
18.05.2019
09:56:31
Radzhab
18.05.2019
09:57:28
подскажите плиз
volumes:
- mongo:/data/db
что значит эта строка?
я понимаю то что волюмы и прочее
- mongo
это путь или что )?
mongo:
image: mongo
restart: unless-stopped
volumes:
- mongo:/data/db
ports:
- 127.0.0.1:27017:27017
я хочу найти место где докер хранит файлы монго
но че т туплю
Sergey
18.05.2019
09:58:47
Radzhab
18.05.2019
09:58:51
эт понятно
а где бд
Sergey
18.05.2019
09:59:04
ну вот и гуглии как инспектом посмотреть
Google
Radzhab
18.05.2019
09:59:08
вне хоста
т.е. вне контейнера
Sergey
18.05.2019
09:59:35
и дальше гугли
Radzhab
18.05.2019
10:00:12
Sergey
18.05.2019
10:03:00
1. в compose файле у тебя регается твой волум (секция volumes)
2. compose создает волум с префиксом имени твоего проекта (если волум не external). у тебя судя по всему это webinars-mono
3. docker volume inspect webinars-mono_mongo покажет тебе инфу о том что где
Radzhab
18.05.2019
10:03:58
Сергей, спасибо)
/var/lib/docker/volumes/
docker inspect говорит что тут бд
но блин
контейнер остановлен
получается бд внутри контейнера была ?
проект не мой просто, поэтому столько вопросов
Sergey
18.05.2019
10:05:13
там должны быть файлики которые монга кладет в /data/db
Radzhab
18.05.2019
10:05:26
просто я когда изучал докер то там были такие моменты - -v /home/<user>/data:/data/db ..
Sergey
18.05.2019
10:05:30
хз что ты хочешь с нимии делать
Radzhab
18.05.2019
10:05:32
типа мы говорим - вот место на хосте
вот тебе база ...
Сергей) я хочу перенести проект
с одного хоста на другой
Google
Sergey
18.05.2019
10:06:15
вот тебе база ...
не база, файлы. Те которые генерит бд и которые должны сохраняться между запусками контейнера
Radzhab
18.05.2019
10:06:15
и вот ищу где докер хранит бд
потсгреса и монго
postgres:
image: postgres:9.6
ports:
- "127.0.0.1:5432:5432"
environment:
- "POSTGRES_DB=webinar"
volumes:
- postgres:/var/lib/postgresql/data
labels:
com.centurylinklabs.watchtower.enable: "false"
restart: unless-stopped
mongo:
image: mongo
restart: unless-stopped
volumes:
- mongo:/data/db
ports:
- 127.0.0.1:27017:27017
volumes:
postgres:
mongo:
Sergey
18.05.2019
10:06:49
сама база в контейнере (софт), артефакты которые оно создает (wal фыйлы, файлы с табличками и т.д. - в волуме)
Radzhab
18.05.2019
10:07:03
а где волюмы
Sergey
18.05.2019
10:07:06
бля
docker inspect тебе mountpoint прокидывает
вот там файлики и лежат