Как переопределить cmd в докере? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть dockerfile

CMD [ "/run/myfile.sh" ]

Я создаю его

docker build . -t myRepo/test/my-app:1.0.0

и запускаю его

docker run -it --rm myRepo/test/my-app:1.0.0 sh 

Если я хочу изменить CMD с большим количеством параметров КакЯ могу сделать это ?например я хочу создать папку

   command: ["/bin/sh"]
    args: [ "-c", "mkdir -p /myfolder/sub && mkdir -p /myfolder2/sub2"]

я пробовал

docker run -it --rm myRepo/test/my-app:1.0.0 sh [ "-c", "mkdir -p /myfolder/sub && mkdir -p /myfolder2/sub2"]

1 Ответ

1 голос
/ 13 июня 2019

Если вам нужно запустить несколько команд, попробуйте использовать entrypoint.sh

Просто создайте сценарий оболочки, например:

#!/bin/sh
mkdir -p /foo/bar
mkdir -p /foo2/bar2
#whatever

И отредактируйте свой Dockerfile:

COPY entrypoint.sh /usr/local/bin/

CMD ["entrypoint.sh"]

Но я не уверен, что это ваш случай, лучше создавать каталоги в RUN командах, а не CMD:

FROM centos:7

RUN mkdir -p /foo/bar/ && mkdir -p /foo2/bar2/
RUN ...
COPY entrypoint.sh /usr/local/bin/
CMD ["entrypoint.sh"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...