Посмотрите, как ENTRYPOINT
работает в Docker.Если вы передадите какую-либо команду (как CMD
или как вы сделали с bash), она запустится, поэтому в вашем случае это будет:
"sh", "-c", "touch /root/FILE1" bash
, что абсолютно бессмысленно.
Если вы хотите создать файл внутри контейнера и запустить его как демон, сделайте это следующим образом:
Dockerfile :
FROM ubuntu
WORKDIR .
RUN apt-get update
RUN apt-get install apache2 -y
COPY fffff.txt /var/www/html/
RUN touch /root/myfile
Создайте его так жекак вы сделали, но запустите так:
docker run -it -d first:latest /bin/bash
Осторожно, он будет запускать ваш контейнер как демон (флаг -d
), поэтому он не перейдет в оболочку контейнера.
Если вы хотите подключиться к контейнеру демона, используйте docker attach <container_id>
(или <container_name>
)