Anton
docker run -it <имя_образа> <команда> <аргумент>
Akhmed Gasanov
не работает так
Alexey
sudo docker run <имя_образа> <аргумент>
Alexey
Точно!
Alexey
https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact вообще вот
Igor
--net=host ?
спасибо, намекнуло на суть проблемы. Увы для того что бы ходили пакеты нормально нужно ufw allow from Node-ip
Igor
это простейший конечно способ - разрешиьт с manager node всем пакетам летать
Akhmed Gasanov
эта хрень не хочет работать, может у меня в докерфайле чет не то
Akhmed Gasanov
sudo docker run -it -p 9999:9999 akhmedgasanov/outlaw_ds 9999
Akhmed Gasanov
в общем аргументом я передаю номер порта
Akhmed Gasanov
docker: Error response from daemon: oci runtime error: container_linux.go:265: starting container process caused "exec: \"9999\": executable file not found in $PATH".
Akhmed Gasanov
вот такую ошибку шлет
Igor
))
Anton
кек
Igor
а что пытаешся вызвать)
Igor
какую команду?
Igor
9999?
Anton
WORKDIR не назначен, куда что копирует непонятно
Anton
что в $PATH тоже непонятно
Igor
Да тут не понятно, что там внутри у него(
Akhmed Gasanov
Dockerfile
так в cmd же указано
Alexey
CMD перезапишется. Это я косякнул в своей команде по памяти
Akhmed Gasanov
обычный питон скрипт принимает 1 аргумент
Anton
WORKDIR / - не помешал бы
Alexey
Поменяй CMD на ENTRYPOINT, тогда будет работать передача аргумента
Alexey
Или передавай всю команду в docker run
Anton
и вообще параметры лучше через ENV передавать, как завещали 12factor.net
Igor
обычный питон скрипт принимает 1 аргумент
давай я чуть свой опыт расскажу... Смотри это обычный внутри линух, поэтому что бы команда просто исполнялась - твой скрипт должен лежать в правильной папке и иметь права на исполнение. Или пиши полный путь к скрипту
Igor
и вообще параметры лучше через ENV передавать, как завещали 12factor.net
А это спорно, я больше склоняюсь к созданию ENTRYPOINT
Igor
;) тогда образ остается самостоятельный и независимый
Anton
Было бы спорно - не сделали бы envconsul например
Igor
не помогло
измени свою команду CMD просто на sh
Anton
А это спорно, я больше склоняюсь к созданию ENTRYPOINT
перпендикулярные вещи) в ENTRYPOINT как раз можно выташить ENV из консула в локальную область например
Igor
зайди и попробуй прям из этой папки сделать свою команду
Alexey
всё, я сдаюсь, надо читать доку
Alexey
Мне кажется, я понял, в чём дело. Когда команда в докерфайле в квадратных скобках, ничего не заработает. Нужно действительно сделать вызов через sh
Igor
Такс
Igor
дай линк на свой dockerfile
Igor
akhmedgasanov/outlaw_ds
Igor
Этот?
Akhmed Gasanov
Akhmed Gasanov
Igor
FROM python:3 ADD data_server.py / ADD requirements.txt / EXPOSE 8888 9999 RUN pip install -r requirements.txt CMD ["sh"]
Akhmed Gasanov
извини не понял какой линкD
Igor
для начала
Igor
да ничего так проще, что бы я к себе твой образ не качал)
Akhmed Gasanov
да! запустился
Igor
Стоп!
Igor
не спеши)
Akhmed Gasanov
я понял кажись
Igor
открой второй терминал
Akhmed Gasanov
sudo docker run -it akhmedgasanov/outlaw_ds python3 data_server.py 8888
Akhmed Gasanov
открой второй терминал
просто ГИГАНТСКОЕ СПАСИБО ТЕБЕ!!!
Akhmed Gasanov
всё работает!
Igor
Что бы твоя команда работала - тебе нужно открыть второй терминал - зайти в сам докер твой этот и посмотреть что он знает внутри себя)
Igor
docker ps docker exec -ti CONTAINERID sh 1) Увидишь в какой папке ты по умолчанию там находишся 2) Увидишь знает ли докер внутри какие то еще скрипты команды 3) и что еще требуется. Ругалось оно на то, что команды не знало - python3 c таким ключом + Если у тебя винда всегда проверяй что бы никакого CRLF не было - всегда почти будут ошибки странные сыпаться(
Akhmed Gasanov
еще раз огромное спасибо тебе @aiprogs ))
Vyacheslav
А как глянуть насколько загружен проц докером ?
Vyacheslav
и вообще загрузку проца, ось дебиан
Александр
Кто-нибудь такую фигню видел?) Докер говорит, что порты забиндены, а хост отрицает
Александр
И все порты с хоста исчезли одновременно и внезапно
Александр
В логах всё начинается с fatal error: concurrent map writes
Александр
Потом здоровенный трейс, потом libcontainerd: started new docker-containerd process, и порты исчезли) По ходу вот баг: https://github.com/moby/moby/issues/28697
Александр
Или вот https://github.com/moby/moby/issues/35588
Vyacheslav
что это?
Vyacheslav
а то у меня только 2 варианта, луковичка и скандинавский бог грома)
twwlf
top
twwlf
Ещё есть docker stats, вдруг ты этого хотел
Vyacheslav
а, топ ахах, понял)
twwlf
Зачем спрашивать в чате то, что легко спросить в гугле?
Vyacheslav
недостаток общения с людьми