Anton
Спасибо
Mentat
Спасибо
Это вообще в целом нормальная ситуация для alpine - образов, там по сути нет ничего вообще, кроме возможности запуска бинарей. Но они очень тонкие.
Anonymous
а где почитать про проброс портов и прочего ? или это сам compose за меня сделает ?
twwlf
в документации, где ещё
twwlf
посмотри в референс по compose
Anonymous
вот у меня есть морда на revel и она должна подключиться к nats nats работает на 0.0.0.0:4222 revel - 0.0.0.0:9000 и видимо внутри докера, revel пытается подключится к nats на 127.0.0.1:4222 (
twwlf
у тебя внутри докера, в compose, контейнеры в сеть объединяются
twwlf
и обращаться нужно по именам
twwlf
а-ля nats:4222
Anonymous
Anonymous
у меня пока такая вот штука
twwlf
не нужно выкидывать порты на хост, если связь нужна между контейнерами
Anonymous
а expose надо делать ?
twwlf
твой терминал сломал мои глаза
Anonymous
в dockerfile
Anonymous
))
twwlf
а expose надо делать ?
делай, не повредит
Anonymous
на оба порта получается ? через которые буду работать
Anonymous
т.е. 9000 и 4222
twwlf
по идее, для внутренней связи оно не нужно
twwlf
expose и биндинг – это для внешнего общения
Anonymous
т.е 9000 оставить, чтобы можно было через браузер зайти на него
twwlf
да
Anonymous
спасибо ) сейчас прокачаюсь по docker-compose
Aleksei
Поясните смысл network_mode: "service:[service name]" network_mode: "container:[container name/id]" Кому не трудно
k
Поясните смысл network_mode: "service:[service name]" network_mode: "container:[container name/id]" Кому не трудно
Можно прицепиться к сетевому стэку указанного сервиса или контейнера.
Aleksei
а профит в чем?
k
а профит в чем?
Ну, вдруг ты хочешь не создавать новую сеть, а заюзать уже существующую.)
k
а профит в чем?
Вот прикольный пример. Запускаешь VPN в контейнере, а новые контейнеры цепляешь к уже созданному: https://github.com/dperson/openvpn-client/#starting-an-openvpn-client-instance
Aleksei
А, понял, спасибо. Я просто наткнулся на это в контексте порядка запуска, теперь понятно как это влияет
Ihor
Ребята, кто как в сворме при docker stack deploy застравляет один контейнер ждать запуска другого? depends_on не работает :(
Anonymous
Здравствуйте. Подскажите пожалуйста, как можно в Docker запустить сервис? Т.е. service uwsgi start
twwlf
entrypoint
twwlf
docker run/start // docker-compose up
twwlf
собственно, весь докер про это, что за вопросы )
Anton
о, она уже спамила в соседних группах )
Anonymous
docker run/start // docker-compose up
С entrypoint попробовал, не получилось.
Anonymous
FROM phusion/baseimage RUN apt update \ && apt-get install -y \ python uwsgi ENTRYPOINT service uwsgi start
Andrey
Тогда рекомендую попробовать почитать документацию )
Andrey
Точно читал формат команды ENTRYPOINT?
Andrey
Кстати, есть еще CMD. Но тут фишка еще в чем, если твой контейнер выполнит команду и выйдет - то контейнер остановится
Andrey
То есть ему надо сервис запусать внутри не как демон, а как программу
Anonymous
А я говорю про запуск демона внутри контейнера
Artem
приложение должно поддерживать работу в фоновом режиме
Artem
как например ключ при старте nginx
Artem
docker это не виртуалка, там нет системд или супервизорра который будет по дефолту поддерживать работу всех приложений
Anonymous
supervisord можно установить
Artem
тогда зачем тебе докер?
Andrey
А я говорю про запуск демона внутри контейнера
Он там один будет, или еще что-то будет работать как основное приложение и поддерживать работу (скажем так)?
Andrey
ну а uwsgi может не как демон работать?
Artem
костылями через супервизор видимо только
Anonymous
uwsgi в docker запускают не через service а вызовом команды uwsgi
Andrey
как, напрмиер, nginx когда у него в конфигурации daemon off стоит
Artem
uwsgi в docker запускают не через service а вызовом команды uwsgi
какой service и кто так запускает, если в контейнер нет ни systemV ни systemd
Artem
он не будет поддерживать работу сервиса в фоне
Artem
лучше погуглить как ПРАВИЛЬНО его использовать с докер
Artem
https://medium.com/@greut/minimal-python-deployment-on-docker-with-uwsgi-bc5aa89b3d35
Artem
вот из первых ссылок что вылезло
Artem
CMD [ "uwsgi", "--socket", "0.0.0.0:3031", \ "--plugins", "python3", \ "--protocol", "uwsgi", \ "--wsgi", "main:application" ]
Алексей
напиши маленький скрипт на питоне, который будет подымать тебе демонов)
Eugene
https://medium.com/@greut/minimal-python-deployment-on-docker-with-uwsgi-bc5aa89b3d35
не самый хороший способ, так как там uwsgi ставится не через pip а через apk или apt. сами разработчики uwsgi не рекомендуют юзать такие пакеты сделанные для дистрибутивов линукса.
Artem
главное не называть его супервизором, тогда будет кошерно использовать его в докере 😂
Artem
речь о том чтобы не юзать супервизор в докере и не запускать через всякие service N start
Eugene
я не имею дело с uwsgi в принцие это просто ближайшее что нагуглилось сразу
для деплоя питонячки uwsgi это лучший вариант, но лучше ставить его через pip
Eugene
А Вы предлагаете pip3 install uwsgi ?
ну в зависимости проекта прописать и все
Artem
так не ко мне вопрос)
sadkos
sadkos
Всем привет! Подскажите, может кто то сталкивался со следующим: в docker-compose два сервиса nginx, php-fpm. Сделал два тестовых сайта client.loc и api.loc В hosts файле php-fpm добавил алиас на api.loc и клиент может к нему обращаться. Xdebug в phpstorm ак же настроен и работает как надо. ____ Но проблемы начинаются когда в коде стоит пункт остановки xdebug, и при этом происходет ображение от одного сайта к другому (file_get_contents() например) происходит долгая загрузка и в итоге "504 Gateway Time-out". Т.е. если включен дебагер и в коде идет вызов соседнего сайта - происходит какой то конфликт. Помогите пожалуйста (если нужно указать мои параметры/настройки, укажите какие именно).
sadkos
Я сейчас понял что дело не в докере а в том, что у меня в шорме открыта корневая папка с двумя сайтами и происходит обращение к двум проектам. Хоть точка остановки и стоит в коде одного - получается проблема.
sadkos
sadkos
решение для нескольких открытых проектов - отключить голочку или повысить лимит соединений
Роман
Коллеги, подскажите, куда смотреть? Имеется докер-контейнер. Пингую изнутри интернет (8.8.8.8) - пинг есть. Пингую внешний IP сервера, на котором лежит контейнер - пинга нет.
twwlf
сервер вообще на пинги отвечает?
twwlf
а то зарежут icmp, а потом удивляются