Sergey
у вас будет сеть контейнеров связанная по API
Sergey
и реплики контейнеров
Ruslan
мне бы в докере разобраться)
Sergey
просто по сути вам нужно будет на несколько хостов как то докером раскидывать
Sergey
лучше сворм\кубер
Sergey
https://docs.docker.com/network/overlay-standalone.swarm/
Sergey
оно?
Sergey
я не совсем понял вопрос, дело в сети или в чем
Ruslan
Ruslan
я погасил машину, воркеры переехали на первый инстанс
Sergey
ииии?
Ruslan
я запустил машину, воркеры остались на первой, вторая машина простаивает
Sergey
что надо то в итоге?
вы что куда раскидывать то хотите
Sergey
докер как запускается
Ruslan
Sergey
https://www.upcloud.com/support/docker-swarm-orchestration/
Sergey
оно?
Sergey
Yar
Ruslan
@vizdrag единственный способ который я вижу - это убить воркеры и они сами переедут на второй инстанс
Grigorii
Кто может помочь с Docker Plugin в Jenkinsе?
В
Configure System -> cloud -> docker указал хост докера, на котором должен стартовать контейнеры, образ и лейбл. В jenkinsfile указал
...
agent {
docker {
image 'repo/php-jenkins-slave'
label 'php-agent'
}
...
но конетйнер упорно пытается стартануть на мастере и фейлится, потому что там докера нет
Iskander
label 'php-agent'
Iskander
этот лейбл есть на агенте?
Iskander
рекомендуется отключить сборку на мастере, это рано или поздно приведет к поверждению jenkins_home
Iskander
https://t.me/jenkins_ru
Grigorii
этот лейбл есть на агенте?
я так понял, что это просто лейбл для докер хоста в самом дженкинсе. потому что мы там можем настроить больше одного докер хоста и уже ссылаться на конкретный хост с помощью этого лейбла из дженкинсфайла
Iskander
нет, это лейбл для агента
Grigorii
нет, это лейбл для агента
wow, а где на агенте указать лейбл нужно?
просто у меня как-то работало раньше, потом я jdk переустановил на агенте и все, больше не работает
Iskander
в настройках агента, точный путь не помню, но это в основных настройках должно быть
Grigorii
Iskander
manage nodes -> node
Grigorii
а, погоди, у меня динамические агенты должны быть, существуют только во время билда
Grigorii
в образе с моим приложением стоит jdk и slave.jar, контейнер должен подниматься и подключаться к мастеру как слейв
Iskander
нужно настройки плагина смотреть
Iskander
как бутстрапятся твои агенты
Iskander
и т.д.
Nicholas
ikasymov
Кто поднимал nodejs + express + sequelize на докере?
ikasymov
у меня пару вопросов
Aleksei
Так задавай
ikasymov
Так задавай
там sequelize создает config папку с config.json как правильнее будет эти конфиги настроить на докере?
ikasymov
без этой папки sequelize не запускает миграции
Aleksei
Так а какие с ними проблемы? Смапь на volume если надо
ikasymov
ну придется ручками писать хост имя базы пароль юзера
ikasymov
и при гите тоже проблемы будут, свои данные с этого файла чистить и пушать
Yar
Yar
И в чем именно проблема
Yar
Алексей
services:
app:
image: ${image}
migrate:
image: ${image}
command: ./node_modules/bin/sequelize db:migrate
ikasymov
данные надо что б он брал с .env
Pavel
Привет, ребят. Может кто знает, у letsencrypt-nginx-proxy-companion есть возможность перенаправить все запросы с одного поддомена на другой хост?
Алексей
так сконфигуряй чтоб sequelize брал данные из env
Yar
Запускай через coreenv
Yar
Все файлы внутрь контейнера
Алексей
у тебя будет все тоже самое что и в приложении сконфигуренное
Алексей
ты понял решение?
Yar
Yar
не пойму сложностей
ikasymov
ikasymov
смотри
Yar
по понятнее обьясни
ты в контейнер кидай конфиг с заполнеными значениями, а комить только дефолтные
Алексей
по понятнее обьясни
version: '3'
services:
app:
image: registry.gitlab.com/______:${TAG}
env_file:
- .env
restart: always
networks:
- local
- dev
migration:
image: registry.gitlab.com/________:${TAG}
env_file:
- .env
command: "bash -c 'yarn sequelize db:migrate && yarn sequelize db:seed:all'"
networks:
- local
- dev
Алексей
вот мой конфиг, который накатывает миграции при каждом деплое
Алексей
app и migration использует один и тот же image
только раззные команды
ikasymov
есть index.js там sequelize берет все данные с .env там проблем нет, но сам sequelize-cli или
./node_modules/bin/sequelize db:migrate
требует config.json который создается командой sequelize init
и туда придется мои данные ручками писать
Алексей
в одном случае запускается приложение
во втором миграции
ikasymov
{
"development": {
"username": "test",
"password": "test",
"database": "test",
"host": "172.18.0.2",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
ikasymov
я про это говорью
Yar
ikasymov
все забыли что ли?
Je
ikasymov
Алексей
.sequelizerc
const path = require('path');
module.exports = {
config: path.resolve('config', 'index.js')
};
config/index.js
const dbConf = {
host: process.env.DB_HOST,
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
dialect: 'postgres',
logging: true
};
module.exports = {
development: dbConf,
test: dbConf,
production: Object.assign({}, {logging: false}, dbConf)
};
Yar
все забыли что ли?
сделай инит на компе, в контейнер уже кидай приложуху с генерированным config.