AlexK
AlexK
не, такое не подходит, имиджи передаются кастомеру, предпологаетсч, что у него дефолтный докер стоит
AlexK
Konstantin
Александр
Еvгений
Так напишите ему как надо
Vladimir
Здравствуйте, товарищи. Такой вопрос - запускаю контейнер из Python ((docker.from_env().containers.run(name='certbot',image='certbot/certbot:latest', volumes=volumes, command=command, tty=True, stdin_open=True) ) . Как добиться перенаправления ввода-вывода, аналогичного запуску просто из командной строки (sudo docker run -it \
certbot/certbot \)?
Vladimir
Сейчас вывод идет в логи докера, что совсем не то, чего бы я хотел. О вводе я уже и не говорю =(
Alexey
https://docs.docker.com/storage/volumes/
Vladimir
?
Vladimir
Мне нужен вывод в консоль, а не в файл
Alexey
сорри )
Vladimir
Про volumes я знаю. А тут чего-то затупил, как организовать режим интерактивного терминала? Он прекрасно работает, пока не оборачиваешь запуск контейнера в Python
Vladimir
Какие-то шестерёнки у меня в башке не войдут в зацепление и я не соображу, что не так. Вроде все ключи повторил (-i => stdin_open=True, -t -> tty=True), а поведение совсем иное.
Petr
Tail tee
Vladimir
Видимо, я плохо сформулировал вопрос. Есть официальный контейнер с certbot. При запуске ег ос ключем "-it" получаем работу в режиме командной оболочки в терминале. То есть ввод-вывод контейнера перенаправляется в терминал, в котором был выполнен docker run.
Vladimir
При запуске контейнера из Python перенаправления ввода-вывода не происходит, не смотря на указанные параметры (-i => stdin_open=True, -t -> tty=True). Что я делаю не так?
Зulcom 🕊
Привет, никто не знает, как в docker compose прокинуть в контейнер и сеть с алиасами и сеть хоста?
Зulcom 🕊
У меня ничего не получается:
" only one instance of "host" network is allowed"
Говоришь ему network_mode: host, а он говорит с кастомными сетями не работаю
Говоришь ему сделать кастом сеть external и с id, который присвоил ему docker, он просто контейнер роняет и говорит, что сеть не подключена
Andrei
Подскажите есть ли котовый контейнер который бы мог укорачивать ссылки то есть есть домен site.ru даешь контейнеру любую ссылку в интернете, а контейнер для ссылки генерирует ссылку в домене site.ru/url1 при нажатии на эту ссылку попадаешь на целевую ссылку
Алексей
Алексей
Andrei
Алексей
Научишься гуглом пользоваться?
Vladimir
Здравствуйте, товарищи. Такой вопрос - запускаю контейнер из Python ((docker.from_env().containers.run(name='certbot',image='certbot/certbot:latest', volumes=volumes, command=command, tty=True, stdin_open=True) ) . Как добиться перенаправления ввода-вывода, аналогичного запуску просто из командной строки (sudo docker run -it \
certbot/certbot \)?
Сам спросил, сам отвечаю. Для реализации tty-режима из Python в контейнер существует модуль dockerpty, который уже немного устарел (точнее изменился API docker), поэтому нужно будет обновить один файл на основе pull-request (https://github.com/d11wtq/dockerpty/pull/81/files)
Константин
Ставишь loadbalancer (haproxy, nginx, etc...) который публикует 80 порт и пробрасывает запросы на контейнер в соответствии с условиями
Константин
Рекомендую посмотреть на Traefik, удобная штука
paulwinex
подскажите пжлст, что я мог напутать.
Есть docker-compose.yml, и есть .env файл
в композе энв используется в параметре
env_file:
- .env
в этом файле объявлена переменная типа CONTAINER и я её использую в самом yml
container_name: ${CONTAINER}
в документации написано что для форматирования переменных в yml не используется файл, а только переменные которые объявлены в shell. Но у меня оно почему-то работает) Точней работало, пока не начал новый проект, там уже не работает.
Так вопрос, как же из файла этого удалось прокинуть имя контейнера? никаких кастомных сетапов, просто вызывал обучной командой
docker-compose up
Есть ли способ из .env прокинуть в yml переменные чтобы параметры замапить?
paulwinex
версия композа 3 и 3.1
Константин
docker-compose при запуске читает .env файл, если ты его запускаешь в директории в которой .env файл есть
Константин
https://docs.docker.com/compose/environment-variables/#the-env-file
paulwinex
блин, я тут пол дня вспоминал как там оно работает, вспомнил. если указывать любой файл в параметрах то он не учавствует в форматировании, а если создать файл именно .env то в yml он работает, спасибо, напомнил)
paulwinex
щас попробую
paulwinex
Dave
Dave
ой чет я далеко
Lev
Рофл
Konstantin
ingress в кубе - это nginx\haproxy с навесами, тонированными стёкалми и парой сабвуферов.
swarm ready - "dockerflow proxy", "traefik"
Konstantin
поправил
Konstantin
я только jwilder/nginx-proxy знаю, но он со сворм плохо работал раньше, сейчас не знаю
Konstantin
да и настройки через ENV - бред
Konstantin
не надо, намучаешься. возьми dockerflow proxy
Konstantin
там haproxy под капотом и доки норм
Konstantin
или traefik многие юзают, тоже можно
Konstantin
Konstantin
Да. А про docker ps хз, смотри логи
Konstantin
docket service ps - так юзай в сворме
Konstantin
Оба конечно, один только сокет читает и команды прокси шлёт на конфигурацию
Konstantin
Одна нода?
Konstantin
Konstantin
Ну так на другой ноде поднялся
Konstantin
service ps показывает где
Konstantin
нет, почему должно быть
Ильдар
https://docs.docker.com/get-started/part3/#run-your-new-load-balanced-app
Konstantin
ну manager лучше не грузить, может кворум развалиться если нода перегружена. Я только прокси держу на менеджерах, сеть особо не загрузишь. Ну и по мелочи сервисы
Konstantin
там больше чем ps\ls
docker service —help
Anonymous
дядьки, рили нид хелп!
Konstantin
Anonymous
centos 7.6 + selinux + docker 1.13 + samba в нём. selinux лочит доступ к /docker/share - я чот потерялся, мне надо юзера создать в контейнере и на хосте с одинаковыми же уид и гид? chcon я каталогу прописал а один фиг болт, в audit.log denied и всё тут
E_zombie
а есть исошка восьмёрки ?
Konstantin
E_zombie
не. я по жести хочу угореть. обычную исошку
Konstantin
E_zombie
так я и хочу поставить контейнер с восьмёркой в контейнер с восьмёркой в семёрке.
Sergey
а есть какой-нибудь хороший интерактивный курс по докеру
Sergey
у него такой кривой интерфейс
что я не могу никак освоиться
Sergey
плез
Sergey
перечитал доку уже много раз
Sergey
все равно не доходит
Konstantin
что такое интерфейс докера?
Petrovich
на винде и маке вроде есть гуишка у докера
Sergey
smile
docker pull/build/run/logs + compose
smile
все что нужно для начала
Sergey
я ща пытаюсь въехать как мне запустить контейнер с другой командой
smile
а там само пойдет
Sergey
до этого долго пытался удалить все лишние образы/контейнеры