Pavel
ну разрабатываю конечно на своей рабочей станции
Pavel
на проде совсем другое, там SWARM
Sergey
это как, не понимаю
для всего ставят обычно одну платформу,
иначе смысла нет, ты разработал, замониторил, протестировал, а на другом дистре у тебя не получилось того же эффекта
Pavel
на Деве понятное дело все просто, там тупо папки из локалки подключены как волумы
Alex
Ребята всем привет - может кто подскажет как консольную команду переделать под запуск через dockerfile
Alex
docker run -d\
--name graphite-ubuntu-16-04\
--restart=always\
-p 8080:8080\
-p 2003:2003\
-p 2004:2004\
-p 7002:7002\
schaubl/graphite
Alex
что бы в конечном итоге я просто выполнил docker run -d --restart=always schaubl/graphite
Alex
билд я заранее сделаю
Alex
docker build -t schaubl/graphite /(путь к докерфайлу)
Alex
просто как я в докерфайле не прописывал эти порты в EXPOSE у меня приложение не работает
Alex
dockerfile я делал как:
Alex
FROM schaubl/graphite:latest
EXPOSE 8080:8080
EXPOSE 2003:2003
EXPOSE 2004:2004
EXPOSE 7002:7002
Pavel
Добрый день Коллеги, есть небольшой вопрос по сетям docker.
Есть сервисы в контейнере и сеть создаваемая при старте. Настройки по умолчанию.
Есть облачные провайдеры представляющие сервисы, например база данных.
Я хочу чтобы контейнеры получали доступ к этим сервисам.
Я правильно понимаю что достаточно в контейнер добавить строчку файла hosts для разрешения короткого имени в адрес, или неправильно и есть способ проще?
Vladimir
Alex
а что тебя смущает в этой команде? мб через docker-compose запускать?
ну например ансиблом я прокидываю этот докерфайл на сервер и им же его запускаю (я понимаю что в ансибле есть специальные для этого модули для запуска контейнеров) но я хотел именно через докерфайл это делать - можно и компойзем попробовать но я предпологал его использовать если бы я хотел развернуть более одного контейнера
Alex
в общем я все делаю через ансибл - но зашивать такую здаровенную команду в command: как не комельфо))
Vladimir
Alex
Vladimir
Andor
удали
Sergey
Sergey
я тебе только за родительские образы сказал
Sergey
если ты разработку и тестирование ведешь на from:ubutnu
то и проду на нем катаешь
Vladimir
Vladimir
https://docs.docker.com/develop/develop-images/multistage-build/
Antonio
Есть docker с nginx и несколько виртуальных хостов. Полез настроить на одном из них ssl. В результате при попытке зайти на хост браузер "вечно ждет ответа". Убрал SSL, взял конфиг с соседнего хоста - не попмогает. После нескольких таких запросов к хосту, аналогично начинают вести себя и другие.
Antonio
из другого контейнера при обращении по алису к данному контейнеру - страница отдается нормально
Antonio
подозрения, что где-то в докере теряется запрос
Antonio
как такое можно отдебажить?
George
George
никогда не будет так, что прод ~ тест
George
но обычно это и не нужно. Есть допустимые отклонения. Вот пускай разрабы и тимлиды определяют - норм ли это собирать в тесте эльпайн, а потом катить дебиан
George
и, да, это не отменяет наличие нормальных тестов на продовые образы, чтобы все не сгорело
Nazar
Пацаны как сделать такой движ в докере, что бы было 2 или 3 контейнера одинаковых на одном днс и что бы они балансились раунд робином например в компоузе например
George
George
к тому же, надо понимать, что есть куча вариантов ГДЕ докер будет - баре метал, виртуализированная среда
Petr
Igor
Если металл
George
и для первой, например, кореос и эльпайн далеко не лучшие решения, т.к., например, могут быть нюансы со спец оборудованием
Petr
все на одном серваке будет?
Nazar
Ну как в кубике несколько под, только без кубика
George
Nazar
На уровне контейнеров можно?
Nazar
Без сворма
Petr
а зачем так делать, конечно можно
George
в самом докере никак. Но можно в обычном докере закрыть сервисы traefik и им раундробином раскидать
Nazar
Типа говорили что можно сделать несколько контейнеров и прописать одинаковый нетворк елиас
Igor
Nazar
Или как то так
Petr
не понятно про один днс
Petr
хоть сколько контейнеров понаплоди и балансируй
Petr
ничто не мешает
George
George
George
George
при этом ДНС должен указывать на внешний айпи хоста с докером
Nazar
зачем?
ну можно сделать 3 контейнера и балансить нгинксом
Nazar
а можно наверное получше это сделать)
Petr
непонятно для чего делать так, ладно ты бы выносил nginx и у тебя были поды. А тут одни мощности, можно конечно ресурсы ограничить, но это все как то не очень работает
George
вероятно имеется в виду, что нужно забить все мощности бекендами
George
например, там пайтон, который не умеет нормально в многопоток из коробки
Petr
единственная причина, по которой стоит так делать, это если приложение у тебя падает, остальные остаются в строю.
Nazar
Nazar
можно сделать встроенными возможностями
Nazar
но это бед практис
Nazar
+хочу сделать когда апдейтится имейдж сервис продолжал работать
Petr
так он и продолжит работать
Nazar
если я делаю docker-compose pull app && docker-compose up -d сервис не будет недоступен? пока рестартится ап?) как это возможно если например http сервер стартует 10 секунд например
Artur
сервис не будет недоступен?
при наличии одной ноды, будет недоступен
Nazar
ну вот
Anonymous
Добрый день, кто может подсказать по сетке.
Есть два контейнера, собираются все ок, если запускать их через docker run - сервисы доступны в сети,
но при запуске через docker-compose up
сервисы недоступны по сетке,
version: "3.7"
services:
router:
image: project/router
volumes:
- /home/$USER/volumes/router:$GOPATH/src/gitlab.com/project/router
ports:
- "8080:8080"
networks:
- default
redmine-connector:
image: project/redmine-connector
volumes:
- /home/tester/volumes/redmine-connector:$GOPATH/src/gitlab.com/project/redmine-connector
ports:
- "8081:8081"
networks:
- default
Nazar
George
Anonymous