Desejo inspecionar uma imagem de janela de encaixe criada por outra pessoa com um ponto de entrada e um cmd especificados, por exemplo:
ENTRYPOINT ["/usr/sbin/apache2ctl"]
CMD ["-D", "FOREGROUND"]
Atualmente, faço:
docker run --interactive --tty --entrypoint=/bin/bash $IMAGE --login
Existe uma maneira de substituir o CMD para ficar vazio (para que eu não precise usar "--login")?
-i
depois$IMAGE
?Consulte: https://docs.docker.com/engine/reference/run/#overriding-dockerfile-image-defaults
Parte relevante:
CMD (comando ou opções padrão) Recupere o COMMAND opcional na linha de comando do Docker:
Este comando é opcional porque a pessoa que criou a IMAGE já pode ter fornecido um COMANDO padrão usando o Dockerfile CMD. Como operador (a pessoa que executa um contêiner a partir da imagem), você pode substituir esse CMD apenas especificando um novo COMMAND.
Se a imagem também especificar um ENTRYPOINT, o CMD ou COMMAND será anexado como argumento ao ENTRYPOINT.
Então, para fazer o que quiser que você precisa única especificar um cmd, e substituir usando
/bin/bash
. Não é "vazio", mas faz o trabalho 99%.fonte
--login
a-l
Acho que a solução já é tão bom quanto ele ganha.1 ? Ssl 0:00 /usr/bin/geth echo setting up db
Para quem vem aqui substituir o ponto de entrada AND e o comando para passar outro comando, por exemplo, execute bash em vez do script do ponto de entrada e, em seguida, execute outro comando com parâmetros (não estava claro para mim a partir de outras respostas):
-c 'npm link ...'
é o parâmetro,/bin/sh
então aqui você pode passar qualquer comando que queira executar no contêiner./bin/sh
é para imagens alpinas,/bin/bash
provavelmente para outras imagens.fonte
'...'
usar aspas duplas"..."
/bin/sh
mas a sua pode não ser o caso.