【发布时间】:2021-08-16 20:03:27
【问题描述】:
我有一个 Dockerfile,我在其中复制了一个名为 myscript.sh 的 shell 脚本,我希望在每次启动由映像创建的容器时运行该脚本。该脚本可以正常复制,但在容器启动时不会执行。容器启动后,我可以交互连接并手动运行脚本,但不会在启动时运行。
myscript.sh的内容:
#!/bin/bash
mkdir -p /root/newfolder
Dockerfile:
FROM ubuntu:20.04
COPY ./src* /src
COPY ./myscript.sh /usr/local/bin
CMD ["/usr/local/bin/myscript.sh"]
我也试过了:
CMD ["/bin/bash", "/usr/local/bin/myscript.sh"]
当我运行docker run -it -d --name {container_name} {image_name} bash 时,它会从图像中创建一个容器并给我shell 提示符。我检查脚本是否创建了文件夹,但没有。如果我随后以交互方式运行脚本,则创建的文件夹没有问题。
我查看了其他解决方案,但似乎都没有。我错过了什么?
【问题讨论】:
标签: bash docker dockerfile containers