如何在启动时在Alpine Docker容器上运行Shell脚本?

时间:2019-09-04 14:34:00

标签: docker alpine

我想在Alpine Docker容器启动时执行shell脚本。

2 个答案:

答案 0 :(得分:1)

您应该创建要复制到新容器中的外壳文件,然后将容器入口点设置为您创建的外壳脚本,synthax就像

FROM <docker/alpine-image>
#.... somecode
USER root
COPY /localmachinelocation/entrypoint.sh /containerlocation/entrypoint.sh
RUN chmod 544 /var/www/webapp/entrypoint.sh
#.... somecode
CMD /containerlocation/entrypoint.sh

您可以指定运行脚本所需的用户。 Chmod可以确保脚本的所有者可以运行该脚本,出于安全考虑,您可以对其进行更改。

假设您在/home/user/script.sh中有脚本,可以这样做

FROM <docker/alpine-image>
USER root
COPY /home/user/script.sh /root/entrypoint.sh
RUN chmod 544 /var/www/webapp/entrypoint.sh
CMD /root/entrypoint.sh

答案 1 :(得分:0)

您的docker文件如下所示

FROM alpine:latest

##Do your stuff

#####

##Last line
CMD ["entrypoint.sh"]
##OR
ENTRYPOINT ["entrypoint.sh"]