如何编写一个Dockerfile,我可以启动一个服务并运行一个shell并接受shell的参数?
在Dockerfile中,最新的指令是:
CMD sudo chown -R user:user /home/user/che && \
sudo service docker start && \
cd /home/user/che/bin/ && ./che.sh run
它有效,但我不能将更多的参数传递给./che.sh.
che.sh检查在执行其他任务后是否启动了内部docker.它可以接受几个可选参数,如-r:111.111.111.111.
我试图将指令修改为:
RUN sudo chown -R user:user /home/user/che && \
sudo service docker start
ENTRYPOINT ["/home/user/che/bin/che.sh"]
为了调用它像docker run -it –priviledged my / che -r:111.111.111.111 run,但是che.sh shell会报告内部docker不能正常工作.
我也尝试过:
ENTRYPOINT ["sudo service docker start", "&&", "/home/user/che/bin/che.sh run"]
甚至:
ENTRYPOINT ["sh", "-c" "sudo service docker start && /home/user/che/bin/che.sh run"]
但它会报告在$PATH中找不到sudo服务docker start,或者che.sh没有运行.
写它的正确方法是什么?
>调用che.sh时应运行sudo service docker start>我需要将参数从外部传递给che.sh,就像docker run -it –priviledged my / che -r:111.111.111.111 run