Alexey
а в env передавать айпи мускуля
Alexey
а твоя приложуха в контейненра должна уметь обработать этот env
J
во блин
Alexey
на основании него поправить конфиг или запустить нужные сервисы
Alexey
всё просто, как видишь
J
это грубо говоря вордпресс
J
нифига не просто
Alexey
да пофиг что
Alexey
ну хз, как по мне, так вообще детсад
J
а можно примерчик этого ENV
Alexey
в доке
Anton
Привет люди
Anton
Кто нибудь пхп с mssql конектил, в контейнерах?
Pavel
Кто нибудь пхп с mssql конектил, в контейнерах?
да, получаются дельфины с хоботом...
O'Miay
да, получаются дельфины с хоботом...
какой хобот, там же MSSQL, а не MySQL
Pavel
о! сорри ))
knopki
@antonfrolovsky Вчера как раз озадачивался таким. Вот кусок докерфайла (клиентского) https://pastebin.com/raw/QuaBsB9b
Riv
Такой вопрос по архитектуре докера - когда маунтишь какую-то реальную папку в контейнер, система создаёт хард линк или куда-то копируется временно?
Evgeny
Маунт
Aleksey
Ребят, кто использует jenkins, подскажите - как правильно теги для имаджей в jenkins pipeline расставлять перед публикацией в registry
Alf 🙀
зависит от проекта.
Aleksey
зависит от проекта.
не не, мне просто спарсить тэг или хэш в переменную ))
Aleksey
между стейджами переменные не алё просто - не передаются
Alf 🙀
ты в Jenkinsfile свое добро пишешь?
Aleksey
да
Aleksey
ну то есть варик:
Aleksey
docker.withRegistry('<<your-docker-registry>>', '<<your-docker-registry-credentials-id>>') { git url: "<<your-git-repo-url>>", credentialsId: '<<your-git-credentials-id>>' sh "git rev-parse HEAD > .git/commit-id" def commit_id = readFile('.git/commit-id').trim()
Aleksey
но мне он не нравится - зачем явно объявлять урл репы в дженкинсфайле, если я делаю checkout scm
Alf 🙀
node { def version = DateGroovyMethods.format(new Date(), "yyyy.MM.dd.hh.mm") if ("${BRANCH_NAME}" != "master") { version = "${BRANCH_NAME}-${version}" } def buildAndPushExabgp(imageName, folder, version) { def image = docker.build(imageName, folder) image.push(version) return "${imageName}:${version}"
Alf 🙀
вот так например
Aleksey
вот так например
ок, сенкс! Сча попробую
Aleksey
не, похоже не, короче я хочу объявить глобальную переменную в рамках пайплайна, чтобы она была доступна во всех стейджах, так можно?
Aleksey
то есть сейчас так:
Aleksey
stage('Clone repository') { checkout scm sh "git rev-parse HEAD > /tmp/commit-id" def commit_id = readFile('/tmp/commit-id').trim() println commit_id }
Aleksey
но в следующем стейдже она не видна
Alf 🙀
а на кой ляд то ты ее тогда в stage определяешь
Alf 🙀
у меня оно поэтому в node вынесено
Aleksey
потому что не хочу хочу объявлять репу и криденшенл явно в следующей стадии
Aleksey
это или перфекционизм или задрот, но периодически в битбакете я двигаю репы из проекта в проект и урл репы меняется
Aleksey
дошло!
Alf 🙀
ну наконец
Aleksey
:)
Alf 🙀
я уж сидел зачем ты мне про свои репы рассказываешь...
Владимир
А мы дженкиес не юзаем, все собирается локально у разработчиков (всякие препроцессоры и т.п.) и потом в docker.cloud билдится из реп.
Владимир
И в реестр закрытый попадает и деплоится на машины с агентом docker.cloud
Aleksey
А мы дженкиес не юзаем, все собирается локально у разработчиков (всякие препроцессоры и т.п.) и потом в docker.cloud билдится из реп.
ну, спорный вопрос, когда в отделе 15 челов сидит и каждый свое билдит и надо время тратить на синуации ооочень мало
Aleksey
и еще тестеры
Владимир
Ну это я про продакшн сейчас, dev тупо в контейнер разработчика через хостовый ftp файлы синхрятся. )
Владимир
Каждый по-своему конечно делает
Aleksey
я хз, слишком туп походу чтобы придумать воркфлоу
Aleksey
точнее серебренную пулю
Aleksey
кубер - ну очень долго 100 сторпоинтов мне никто не даст
Владимир
Да у нас тоже все через _опу
Aleksey
да и у нас :))
Владимир
Пуля в проекте как обычно
Владимир
Но docker.cloud это прям прикольно. ) автоматический билд, деплой с использованием конфигов докера.
Aleksey
дешевле в итоге выходит, нежели девопсу на коленке свое дрочить, уже в бюджет заложил :))
Владимир
Согласен, с клаудом мне лично все понятно в плане затрат времени. Простой как топор. Только права доступа там не очень гибкие.
Aleksey
ну то есть для команды, когда больше 10 человек, ну и зп по рынку - очень даже сопоставимо
Владимир
У меня 20 реп приватных в клауде, я даже не помню сколько оно стоит.
Alf 🙀
Вы не путаете доккер клауд и доккер хаб?
Aleksey
эээ, сложно сказать. Я смотрю в сторону docker ee. но еще не пробовал. Мне нужен легкий тулинг для билдинга кастомных веток
Aleksey
разумеется, на дженьке в том или ином виде это уже есть
Aleksey
но нужна вебка для qa и прочие плюхи для ускорения релизов
Aleksey
k8s - не предлагать
Aleksey
я оперирую на хорошем уровне, но внедрить - оочень долго :(
Владимир
Нет, не путаю - у docker.cloud цена складывается из количества доступных приватных реп и количеста управляемых серверов.
🏳️ Phil
Застрял на какой-то херне. Мне надо чтобы в некоторых контейнерах (docker) /etc/passwd и /etc/group и их скрытые варианты (для pam надо) были идентичными. Пользователи достаточно регулярно добавляются и удаляются, т.е. при создании контейнера не вариант. Симлинк - режет же его ктото
バズカ・ジョ
монтировать файло?
Anton
Народ а может кто знает почему mssql контейнер сам в себе не может подсоедениться к базе?
Vir
привет всем. имею такую ситауцию: docker-compose.yml # ECHO echo: container_name: plc_echo build: ./echo networks: psnet: ipv4_address: 172.25.0.102 ports: - "6001:6001" соответствующий докерфайл FROM node:onbuild # Create app directory RUN mkdir -p /app WORKDIR /app COPY package.json /app RUN npm install COPY laravel-echo-server.json /app EXPOSE 6001 в таком виде я получил эти файлы, но мне не нравится, я хотел бы примонтировать файл с настройками, но при запуске оно мне не стартует контейнер, как правильно мне примонтировать. может быть я не правильно монтировал, ибо монтировал я так volumes: - ./echo:/app что я делаю не так
🏳️ Phil
монтировать файло?
Угу. И при смене inode ты прощаешься с актуальной инфой. А passwd меняется именно так
Alf 🙀
Народ а может кто знает почему mssql контейнер сам в себе не может подсоедениться к базе?
а то что он внутри подключится к себе не может ты понял когда запустил docker run -ti <твой_имадж> bash и попытался запустить клиента?