
Oleksandr
05.08.2018
15:01:34
Всем привет!
Будем переводить деплой и развёртывание проектов на поход с использованием докеров
В нете есть куча материалов на эту тему, а какие из них самые адекватные и актуальные - хз..
Скиньте плиз, что по вашему мнению самое адекватно - полезное для начала. Среда:
- на серваке Убунта
- проекты на Пайтоне
- Постгрес как БД
- gunicorn и nginx как средства обработки и передачи реквестов из вне на логику (на Пайтон скрипт с Flask и т.п.)
- гит как хранилище кода

Boris
05.08.2018
15:28:45

Sergey
05.08.2018
15:45:56

Boris
05.08.2018
15:49:08
Инструменты или решения для внедрения девопс в проект

Google

Boris
05.08.2018
15:49:19
но это не точно

Oleksandr
05.08.2018
16:03:20
Хм, значит как-то не так описал то, что нужно..
Нужен материал (адекватный и аптудейт), которые подскажет как все описанное завернуть в докер и развернуть на сервере
Как-то так :)

Sergey
05.08.2018
16:18:09
гитлаб+композ?

Yury
05.08.2018
16:18:12
Нанимает девопсера он те закручивает))

Boris
05.08.2018
16:35:09
Да, наймите девопса, который внедрит best practice в этот проэкт.
Если просто спрашивать полный гайд на такой обьемный проект - это как просить помочь спрограммировать вебсайт под диктовку
Подскажите как правильно юзать связку ID:ALIAS в docker-compose?
А то в документации как всегда все плохо

Sergey
05.08.2018
16:59:54

Twelfth
05.08.2018
17:14:27

Oleksandr
05.08.2018
17:19:17
нанять то можно кого угодно и даже есть шанс, что работу он сделает, но учить как это делать почти никто не будет, да и чаще всего люди не умеют учить других
То есть это нужно знать самому и самому практиковать
Потому и спросил совета по тому, какую литературу вначале почитать, т.к. гуглить умею - с этим проблем нет :)

Twelfth
05.08.2018
17:21:40

Boris
05.08.2018
17:21:46
Обучение можно сделать частью участия в проекте девопса.
Своих девопсов вырастить - не реально, нужна целая тонна знаний и опыта в разных казалось бы сферах.
Поэтому как правило берут девопсов под обучение, берут опытного на время и он натаскивает

Sergey
05.08.2018
17:30:45

Google

jidckii
05.08.2018
18:07:36
Чуваки, всем хай. Кто нибудь использует как драйвер openvswitch вместо linux bridge ? на сколько это вообще возможно ?

Sergey
05.08.2018
18:59:07

Alexander
05.08.2018
19:50:39
docker run --copy-this-file-to-a-dir-in-container hostfile.conf /etc/app/
Есть такая опция?
-v только файл в файл копирует. Впрочем, ладно

Kirill
05.08.2018
20:04:05
Ну я просто локально собираю свой контейнер Nginx и у меня там ADD vhost.conf /etc/nginx/conf.d/default.conf
Ну и это дело потом поднимается через docker-compose. Точнее оно и билдится само

Alexander
05.08.2018
20:26:57
Просто обнаружил, что файл в директорию копировать не хочет, надо путь до файла, а не до директории указывать:
-v /full/path/nginx.conf:/etc/nginx/nginx.conf

Andrey
05.08.2018
21:01:11
Ребят, а с помощью nginx-proxy можно разрулить проксирование запросов по роуту?
web-app.com/api/* -> api app
web-app.com/* -> web app
Пытаюсь это сделать в nginx конфиге web-app'а, но на /api возвращается 502 из-за проблемы с SSL hand shake


nn
05.08.2018
21:58:14
Ребят, привет. Подскажите такой вопроc. Разворачиваем докеры на убунту, там рядом стоит ufw. Вообщем ufw успешно закрывает все что вне докера, но если есть сервисы в докере, которые экпоузят внешний порт, то он получается открыт снаружи. Т.е. правила ufw для хостовой машины не помогают закрыть сервисы в докере, которые торчат наружу. Понимаю, что нужно копать в сторону iptables, чтобы закрыть порты, но может у кого есть готовое решение. Т.е. задача закрыть всем порты, за исключением некоторых айпишек. Докер,как я понимаю, сам управялется с iptables, вроде как можно внести правила в цепочку docker-user. Но попробовали, пока ничего не получилось. В докере - новички,в iptables -тем более :)
знаю что поздно, но чувак, сделай кластер. серьезно. kubernetes прекрасная штука, все эти проблемы решает, поды деплоит так как нужно, не морочься


[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
02:20:43
Подскажите, плз.
У меня есть докерфайл с описанием контейнера приложения. А так же есть докер композ, со всей остальной инфраструктурой раскиданной по нескольким контейнерам. Как мне интегрировать эту две сущности?
Как я понимаю, надо результат выполнения докерфайла куда-то выложить в виде имиджа и затем сослаться на него в докер-композе?
Если так, то подскажите как именно запаблишить и потом обратиться к этому имиджу? Я использую гитлаб. Вроде как там какой-то докерхаб есть свой.

Sergey
06.08.2018
02:51:55


[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
02:52:45
Может если линк на мануальчик?
А то я пока ни пайплайны не делал, ни имиджи не паблишил
Как заюзать образ закоммиченый таким образом?
docker commit step1 oracle-12c:installed
В следующем шаге используется докерфайл с FROM bofm/oracle12c:installed но, очевидно, я закоммитил не в bofm.
https://docs.docker.com/engine/reference/commandline/commit/#commit-a-container-with-new-cmd-and-expose-instructions
Натолкнуло на мысль, что нужно просто обратиться без префикса до слэша
FROM oracle12c:installed
Но это не помогает
pull access denied for oracle12c, repository does not exist or may require 'docker login'
Какой докер логин? Я же не логинился никуда, когда делал docker commit

Sergey
06.08.2018
05:23:05

Dmitry
06.08.2018
05:40:06
Приветы
Подскажите столкнулся со странным поведением контейнеров

Google

Dmitry
06.08.2018
05:40:35
В общем по крону запускаю docker-compose run job
job выходит. но почему то в фоне остаётся что то типо job_13 job_18 и тп

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
05:41:11

Sergey
06.08.2018
05:43:02

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
05:43:28

Sergey
06.08.2018
05:44:54

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
05:45:42

Sergey
06.08.2018
05:47:56

Robert
06.08.2018
05:50:50

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
05:50:54

Robert
06.08.2018
05:51:03
``` build
Configuration options that are applied at build time.
build can be specified either as a string containing a path to the build context:
version: '3' services: webapp: build: ./dir
Or, as an object with the path specified under context and optionally Dockerfile and args:
version: '3' services: webapp: build: context: ./dir dockerfile: Dockerfile-alternate args: buildno: 1
If you specify image as well as build, then Compose names the built image with the webappand optional tag specified in image:
build: ./dir image: webapp:tag
```

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
05:51:08

Robert
06.08.2018
05:52:58
Директива FROM берет образ из локального репозитория, если локально нет то будет пуллить

Таймураз
06.08.2018
05:55:14
Хммм
Можешь также локально юзать docker-compose.override.yml для разработки

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:20:33

Robert
06.08.2018
06:20:59
Тэги не указал?

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:21:14
Как заюзать образ закоммиченый таким образом?
docker commit step1 oracle-12c:installed
В следующем шаге используется докерфайл с FROM bofm/oracle12c:installed но, очевидно, я закоммитил не в bofm.

Robert
06.08.2018
06:21:28
Покажи docker images и строчку композа с image

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:21:37
Хз, видимо нет, если они отдельным ключём указываются

Google

Таймураз
06.08.2018
06:22:04

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:22:19

Таймураз
06.08.2018
06:24:09

Robert
06.08.2018
06:24:15

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:24:57
FROM bofm/oracle12c:installed

Robert
06.08.2018
06:25:30

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:25:58
Ааа, там дефиса нет, но bofm же тоже нет у меня

Robert
06.08.2018
06:26:11
Ну так и его добавить надо
docker build -t bofm/oracle12c:installed

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
06:31:21
спс

Aleksandr
06.08.2018
11:40:05
3

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
11:59:51
А почему так странно экспозятся порты?
b7020a0754c7 oracle-12c:latest "/bin/sh -c /tmp/sta_" 6 seconds ago Up 4 seconds 0.0.0.0:32773->1521/tcp, 0.0.0.0:32772->5500/tcp, 0.0.0.0:32771->8080/tcp orcl-1
При этом в докерфайле ничего подобного
EXPOSE 1521 5500 8080
И как сделать, что бы это были не 3277*?

twwlf
06.08.2018
12:02:45
потому что EXPOSE - это просто декларация о публикации портов
хочешь маппинги - аргументируй в конфиге

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
12:03:49

twwlf
06.08.2018
12:04:24
ну, я сыграю в телепата. Ты запускал через docker run с флагом -P

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
12:04:48
Нет, -P не использовал в данном случае

twwlf
06.08.2018
12:05:00
у docker run есть прекрасный флаг --help

Google

twwlf
06.08.2018
12:05:15

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
12:05:32
Но зачем? Если хочется один раз в файлике написать и не использовать лишних ключей при запуске

twwlf
06.08.2018
12:05:54
миллион причин
тебе в ряде ситуаций вообще не нужны торчащие наружу порты от каджого сервиса, например
а если наружу по дефолту проксировать тот же порт – ты запаришься коллизии разруливать
глупые вопросы, на самом деле

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
06.08.2018
12:07:27
У меня есть нексолько контейнеров для инфраструктуры, и порой надо туда сходить напрямую для дебага в ту же базу, например. И есть контейнер с приложением, даже два. И они должны ходить в те инфраструктурные контейнеры

twwlf
06.08.2018
12:08:31
почитай про compose/service и docker network'и