Дурак из фильма
не сработать может только в одном случае, когда сделано криво, то есть не до конца поняли как это сделать правильно.
Shine
а это вообще не исключено :)
Дурак из фильма
А вообще вкатываться с нуля в файрволл и докер, это мощно. Обычно в этом случае нанимают специалиста.
Dan
👌
Alex
Всем привет! Будем переводить деплой и развёртывание проектов на поход с использованием докеров В нете есть куча материалов на эту тему, а какие из них самые адекватные и актуальные - хз.. Скиньте плиз, что по вашему мнению самое адекватно - полезное для начала. Среда: - на серваке Убунта - проекты на Пайтоне - Постгрес как БД - gunicorn и nginx как средства обработки и передачи реквестов из вне на логику (на Пайтон скрипт с Flask и т.п.) - гит как хранилище кода
Boris
Инструменты или решения для внедрения девопс в проект
Boris
но это не точно
Alex
Хм, значит как-то не так описал то, что нужно.. Нужен материал (адекватный и аптудейт), которые подскажет как все описанное завернуть в докер и развернуть на сервере Как-то так :)
Sergey
гитлаб+композ?
Yury
Нанимает девопсера он те закручивает))
Boris
Да, наймите девопса, который внедрит best practice в этот проэкт. Если просто спрашивать полный гайд на такой обьемный проект - это как просить помочь спрограммировать вебсайт под диктовку
Boris
Подскажите как правильно юзать связку ID:ALIAS в docker-compose? А то в документации как всегда все плохо
Alex
нанять то можно кого угодно и даже есть шанс, что работу он сделает, но учить как это делать почти никто не будет, да и чаще всего люди не умеют учить других То есть это нужно знать самому и самому практиковать Потому и спросил совета по тому, какую литературу вначале почитать, т.к. гуглить умею - с этим проблем нет :)
Alex
А что Вас сподвигло использовать gunicorn в качестве сервера для python вместо uwsgi?
отзывы, удобность и т.п. Но разницы я особо не вижу, народ постоянно грызется на счет того, что лучше, но не покопав внутри этих проектов, точно сказать сложно А почему вопрос возник? Если не секрет)
Boris
Обучение можно сделать частью участия в проекте девопса. Своих девопсов вырастить - не реально, нужна целая тонна знаний и опыта в разных казалось бы сферах. Поэтому как правило берут девопсов под обучение, берут опытного на время и он натаскивает
Evgenii
Чуваки, всем хай. Кто нибудь использует как драйвер openvswitch вместо linux bridge ? на сколько это вообще возможно ?
Alexander
docker run --copy-this-file-to-a-dir-in-container hostfile.conf /etc/app/ Есть такая опция?
Alexander
-v только файл в файл копирует. Впрочем, ладно
Kirill
Ну я просто локально собираю свой контейнер Nginx и у меня там ADD vhost.conf /etc/nginx/conf.d/default.conf
Kirill
Ну и это дело потом поднимается через docker-compose. Точнее оно и билдится само
Alexander
Ну я просто локально собираю свой контейнер Nginx и у меня там ADD vhost.conf /etc/nginx/conf.d/default.conf
Это да, мне интересно было, как можно через docker run запустить, чтобы на лету проверить просто, не загоняясь со сборкой.
Alexander
Просто обнаружил, что файл в директорию копировать не хочет, надо путь до файла, а не до директории указывать: -v /full/path/nginx.conf:/etc/nginx/nginx.conf
Andrew
Ребят, а с помощью nginx-proxy можно разрулить проксирование запросов по роуту? web-app.com/api/* -> api app web-app.com/* -> web app
Andrew
Пытаюсь это сделать в nginx конфиге web-app'а, но на /api возвращается 502 из-за проблемы с SSL hand shake
Дурак из фильма
Подскажите, плз. У меня есть докерфайл с описанием контейнера приложения. А так же есть докер композ, со всей остальной инфраструктурой раскиданной по нескольким контейнерам. Как мне интегрировать эту две сущности? Как я понимаю, надо результат выполнения докерфайла куда-то выложить в виде имиджа и затем сослаться на него в докер-композе? Если так, то подскажите как именно запаблишить и потом обратиться к этому имиджу? Я использую гитлаб. Вроде как там какой-то докерхаб есть свой.
Дурак из фильма
Может если линк на мануальчик?
Дурак из фильма
А то я пока ни пайплайны не делал, ни имиджи не паблишил
Дурак из фильма
Как заюзать образ закоммиченый таким образом? 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
Diʍᴀ
Приветы
Diʍᴀ
Подскажите столкнулся со странным поведением контейнеров
Diʍᴀ
В общем по крону запускаю docker-compose run job
Diʍᴀ
job выходит. но почему то в фоне остаётся что то типо job_13 job_18 и тп
Дурак из фильма
ну дак в удаленный репозиторий пушить надо я думаю
А локально то оно где оказывается? Ведь куда-то закоммитилось
Sergey
А локально то оно где оказывается? Ведь куда-то закоммитилось
ну я к тому что from наверно из удалённого репозитория берет
Sergey
А локально то оно где оказывается? Ведь куда-то закоммитилось
https://docs.docker.com/registry/introduction/ думаю вот это надо почитать сам не юзал ещё репозитории поэтому могу ошибаться
Sergey
Там про коммит ничего нету
https://docs.docker.com/edge/engine/reference/commandline/commit/#parent-command ну тут есть
Дурак из фильма
Mikhail
``` 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 ```
Mikhail
Директива FROM берет образ из локального репозитория, если локально нет то будет пуллить
Таймураз
Хммм
Можешь также локально юзать docker-compose.override.yml для разработки
Дурак из фильма
Директива FROM берет образ из локального репозитория, если локально нет то будет пуллить
Но я выше привёл как у меня получается. Мол не находит имиджа даже локально.
Mikhail
Тэги не указал?
Дурак из фильма
Можешь также локально юзать docker-compose.override.yml для разработки
А зачем? У меня только один докерфайл и я готов его отредактироваь.
Дурак из фильма
Как заюзать образ закоммиченый таким образом? docker commit step1 oracle-12c:installed В следующем шаге используется докерфайл с FROM bofm/oracle12c:installed но, очевидно, я закоммитил не в bofm.
Mikhail
Покажи docker images и строчку композа с image
Дурак из фильма
Хз, видимо нет, если они отдельным ключём указываются
Таймураз
А зачем? У меня только один докерфайл и я готов его отредактироваь.
У меня один докерфайл для продакшн билда, другой- для разработки локально со всеми дев зависимостями
Дурак из фильма
Покажи docker images и строчку композа с image
oracle-12c installed 04642ad5521f 2 hours ago 5.88GB oracle-12c step1 fa5e56d00b55 3 hours ago 360MB
Дурак из фильма
Таймураз
На проде, скоее всего не будет композа, ибо нафиг не нужен.
Я про разные докерфайлы говорю в 1 очередь
Mikhail
Дурак из фильма
FROM bofm/oracle12c:installed
Mikhail
FROM bofm/oracle12c:installed
Ну у тебя же разные названия
Дурак из фильма
Ааа, там дефиса нет, но bofm же тоже нет у меня
Mikhail
Ну так и его добавить надо
Mikhail
docker build -t bofm/oracle12c:installed
Дурак из фильма
спс
Aleksandr
3
Дурак из фильма
А почему так странно экспозятся порты? 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
потому что EXPOSE - это просто декларация о публикации портов
twwlf
хочешь маппинги - аргументируй в конфиге
Дурак из фильма
twwlf
ну, я сыграю в телепата. Ты запускал через docker run с флагом -P