如何在 Mac 上从 Dockerfile 运行 bash 脚本
Posted
技术标签:
【中文标题】如何在 Mac 上从 Dockerfile 运行 bash 脚本【英文标题】:How to run a bash script from a Dockerfile on a Mac 【发布时间】:2022-01-15 13:18:26 【问题描述】:我正在尝试从 Mac 上的 Docker 映像运行 bash 脚本。这是我的 Dockerfile
FROM bash
ADD app.sh /
ENTRYPOINT ["/bin/bash", "/app.sh"]
错误
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown.
这是一个创建 Docker 镜像的简单练习,我需要在运行 docker run 时执行 app.sh。
知道我做错了什么吗?
【问题讨论】:
【参考方案1】:根据您的错误消息,您的 Docker 映像中不存在文件 /bin/bash
。这是为什么呢?
bash 映像将 bash 可执行文件放在 /usr/local/bin/bash
。我是这样确定的:
$ docker run -it bash
bash-5.1# which bash
/usr/local/bin/bash
bash-5.1#
我使用 -it
运行 bash 映像以使其具有交互性,然后使用 which
命令为我提供 bash 的完整路径,即 /usr/local/bin/bash
。
因此,您需要像这样更改 Dockerfile:
FROM bash
ADD app.sh /
ENTRYPOINT ["/usr/local/bin/bash", "/app.sh"]
【讨论】:
以上是关于如何在 Mac 上从 Dockerfile 运行 bash 脚本的主要内容,如果未能解决你的问题,请参考以下文章
在 mac OS 上从 crontab 运行 git pull 命令问题