Evgeniy
вот пример Makefile чтобы делать релизы https://pastebin.com/Wi7TrnB3
тебе надо лишь задавать переменную TAG какой обновлять (куда пушить)
Evgeniy
запускать ты можешь это хоть со своего компа хоть с любого ci
Evgeny
Вот понял, что потом надо его загрузить на докер хаб, а потом можно на, например, здесь - https://www.reg.ru/vps/cloud/docker
Evgeniy
вот пример nginx.conf (он там нужен для сборки будет)
https://pastebin.com/Qe8gPAFJ
Evgeniy
теперь тебе на удаленном компе достаточно установить докер
пройти аутедентификацию в хранилище образов (если они приватны в 99% случаев)
Evgeny
Evgeniy
и можно запускать фронт docker run -e REACT_APP_API_URL=url_for_api TAG
Evgeny
Evgeniy
там на самом деле сложности бывают только с миграциями (так при них возможны блокировки)
Evgeny
Evgeny
Я понял еще, что оказывается больше гит на продакшен сервере vps не нужен
Evgeniy
вот пример чтобы dev режим с hot reload иметь для такого же проекта https://pastebin.com/cFAwJ3ca (это уже надо разработчикам запускать)
Evgeniy
ну и короткий readme.md файлик чтобы не забыть как что запускать https://pastebin.com/TdnPrXqt
Evgeniy
при этом такое очень легко можно собирать как на машине разработчика так и на ci
и такое крайне просто деплоить(запускать) хоть как, docker, docker-compose, docker swarm, kub, .... при этом оно легко скейлится и масштабируется
Evgeny
😳
Evgeny
Ну, понял, хорошо, что на вдс не нужно будет ничего устанавливать руками кроме докера
Evgeny
И там пул сделать
Evgeniy
собирать фронтенд это не сложно, как я уже говорил
самая попа это когда есть апиха которая должна работать без downtime
и когда в релизе делаются изменения структуры бд
и нужно в определенном порядке это релизить и выполнять и учитывать что миграция может заблочить таблицу, а на больших таблицах этот лок может быть долгим и тогда апиха будет ждать когда табличку разлочат и фронт будет отваливаться по timeout
Evgeniy
подобная проблема есть и в том случае если меняется формат запросов или ответов в апиху и тогда надо релизить еще и фронт и апиху так чтобы ничего не свалилось
Evgeny
Ну вообще я думаю как к этому реакту подрубить блог на вордпрессе, думал, что удобнее будет вп установить на шаред хостинг и реакт будет в докере
Evgeny
Получается, что здесь важно, чтобы шаред хостинг и впс была одна компания?
Тайм веб там или рег.ру?
Evgeniy
вообще плевать
Evgeny
вообще плевать
Просто хотелось бы сделать домен и подомен, там должно вроде быть одна компания, чтобы ns записи были одинаковы
Evgeniy
вообще нет
у тебя ns записи могут быть вообще где угодно(указывать хоть на другой хостинг)
главное там чтобы была корректно описана зона
Evgeny
Evgeniy
да
Evgeny
Я не знал
Evgeniy
более того даже рекомендуют чтобы ns сервера были разделены чтобы в случае проблем одного ns сервера был доступен другой
Evgeniy
отсюда пошли и secondary dns сервера
Evgeny
Evgeniy
я не разбираюсь в shared хостингах как там устроено
Evgeniy
ты можешь ns сервера держать в одном месте
и прописать поддомен на айпи адрес другова хостинга
Evgeniy
более того одному доменному имени (например ya.ru может соответствовать несколько айпи адресов расположенных в разных дата центрах в твоем случае ты называешь это хостингами)
Evgeniy
этому даже есть название round robin dns
Evgeniy
тебе это конечно нахер не сдалось так как это уже речь за масштабирование
Evgeny
Ясно
Evgeny
Спасиб
🇸 🇹 🇦 🇷 🇮 🇰
А есть умельцы с опытом контейнеризации томката?)
𝙼𝚛. 𝚂𝚑𝚒𝚜𝚑𝚔𝚒𝚗ᅠ
Есть вопрос: скачал образ, и запустил metabase в просто докере, и redash через docker-compose.
Тестово, то есть ничего не менял. Вопрос: начальство хочет, чтобы сохранялись данные которые были в бд, которые поднимают эти два проекта.
Можно как-то БЕЗ подключения внешней бд, это реализовать :?
Siroga 🇺🇦
Смотрите в сторону volume. Тогда при каждом перезапуске контейнера он будет читать уже существующую базу
Serhiy
Здравствуйте. У меня синий экран с ошибкой synthetic watchdog timeout, если у меня запущен docker desktop и я захожу в конференцию в zoom или microsoft teams. Почему так происходит и как это исправить?
Serhiy
🤦🏼♂️
Anonymous
Всем привет
Подскажите, не удается зайти в psql в postgres контейнере
psql -h localhost -U postgres
В контейнер зашел, дальше ошибки
psql: error: FATAL: role "postgres" does not exist
Установленно
DB_HOST=127.0.0.1
DB_DRIVER=postgres
DB_USER=postgres
DB_PASSWORD=postgres
Evgeniy
ты в контейнер postgres откуда заходишь ?
Evgeniy
из другова контейнера ?
Evgeniy
psql -h localhost -U postgres возможно тут флага -W не хватает, ото пароль непонятно где передается
SZK
Slach
всем здоровья, а кто знает как внутри Dockerfile
текущую целевую платформу для docker buildx --plaform узнать?
ну чтобы сделать типа
COPY build/${PLATFORM}/clickhouse-backup /bin/clickhouse-backup
бинарники я под целевую архитектуру создал, в разных папках уже
Slach
Dan
Наш человек!
Arman
Привет. Старый софт можно самому под m1 собрать? задача mongodb 2.6 поднять на Мак)
@@@@@
Добрый вечер.
Если я к примеру так создам image
FROM mcr.microsoft.com/dotnet/sdk:3.1
WORKDIR /app
COPY . .
VOLUME ["/app"]
ENTRYPOINT ["dotnet", "app.dll"]
То внутрь его уже не смогу подключиться к терминалу?
Arman
@@@@@
ну я контейнер создаю, подключаюсь там терминал не открывается или я не правильно подключаюсь.
docker attach CONTAINER_ID
@@@@@
верно же?
Arman
docker exec
Arman
если правильно понял))
@@@@@
ну к работающему контейнеру хочу к терминалу подключиться.
@@@@@
docker exec
это вроде выполнить внутри контейнера команду, но ведь при запущенном контейнере консоль занята вроде я правильно понимаю?
Artyom
@@@@@
@@@@@
Еще такой вопрос смотрю в докер хабе есть много, без инструкций образы, которые не запустить, сразу в ошибку падают и отключаются, как то можно к их консоли подключиться, пока контейнер изза ошибки не отключился
Evgeniy
Переопределить entrypoint
Evgeniy
Флаги -it
@@@@@
а как entripoint переопределить можно?
@@@@@
С этого образа новый образ создать с добавленным entrypoint верно?
Siroga 🇺🇦
Есть опция для docker run
--entrypoint Overwrite the default ENTRYPOINT of the image
@@@@@
уже в ютубе пересмотрел много че. там обычно сосенты как создать как запушить в хаб и все. Без примеров в доках как те не оч понимаю.
Anonymous
хало
Kenneth
TL Reference for getParticipant
Сароар🧑🏼🦱
Ghbdtn
Сароар🧑🏼🦱
почему не создают init user ?
mongo:
image: mongo
container_name: mongodb_word300_staging
environment:
- AUTH=yes
- MONGODB_ADMIN_USER=word300-root
- MONGODB_ADMIN_PASS=word300-password-04
- MONGO_INITDB_ROOT_USERNAME='${MONGODB_USER_STAGING}'
- MONGO_INITDB_ROOT_PASSWORD='${MONGODB_PASS_STAGIN}'
- MONGO_INITDB_DATABASE='${MONGODB_DATABASE_STAGING}'
volumes:
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
- ./mongodb_stageing/data:/data/db
networks:
- word300_network
restart: unless-stopped
ports:
- 27016:27016
Сароар🧑🏼🦱
Dan
Arman
предпоследняя строка разве не с ошибкой?
Сароар🧑🏼🦱
mongodb_word300_staging | {"t":{"$date":"2021-12-05T10:57:48.816Z"},"s":"E", "c":"-", "id":22780, "ctx":"thread1","msg":"directory [{filename}] doesn't have any *.js files","attr":{"filename":"/docker-entrypoint-initdb.d/mongo-init.js"}}
mongodb_word300_staging | failed to load: /docker-entrypoint-initdb.d/mongo-init.js
mongodb_word300_staging | exiting with code -3
Сароар🧑🏼🦱
https://gist.github.com/saroar/9aa73c5a068b1520898f78b714bf5417