Я бы спросил, как определяется ваша ENTRYPOINT в вашем Dockerfile. Вы используете форму exe c или shell ?
Я думаю, что вы используете форму exe c, так как при локальном ее запуске вы просто добавляете два аргумента в команду docker run, и они успешно перешел. Я упоминаю это как ENTRYPOINT
, определенный в shell форме, не принимает аргументы, передаваемые согласно документам .
Аргументы, передаваемые с использованием --container-arg
, должны добавляться после ENTRYPOINT аналогично тому, как когда CMD используется для установки значений по умолчанию для ENTRYPOINT
(подробнее см. this ).
Как упоминал Джон Хэнли, строка --arg0=0
будет передана программе, добавленной в Dockerfile ENTRYPOINT
, или команде, указанной с помощью --container-command
, как в ответе Джона Хэнли.
Я бы предложил проверить, как определяется ENTRYPOINT в Dockerfile, чтобы начать устранение неполадок, которые могут быть причиной этого. Также вы можете проверить запущенные процессы в экземпляре виртуальной машины сразу после создания, чтобы увидеть, как выполнялась точка входа ig $ docker exec -it test ps aux
.