bash - 引用传递给docker入口点的第一个参数?

标签 bash docker dockerfile

我正在尝试获取传递给Docker Entrypoint的第一个参数的值。我之前收到了有关如何执行此操作的答案。链接在这里:

Referencing a dynamic argument in the Docker Entrypoint

因此,我设置了一个实验,看看是否可行:

这是我的Dockerfile:

FROM alpine:3.3
MAINTAINER ole.ersoy@gmail.com

RUN apk add --update --no-cache --no-progress bash
COPY run.sh .
ENTRYPOINT /run.sh

run.sh入口点:
#!/bin/sh
echo The first argument is: $1

然后,我建立这个:
docker build -t test .

并运行图像:
ole@MKI:~/docker-test$ docker run test one
The first argument is:

我期待:
ole@MKI:~/docker-test$ docker run test one
The first argument is: one

有什么想法吗?

TIA,
奥莱

最佳答案

将ENTRYPOINT更改为下一个:

ENTRYPOINT ["bash", "run.sh"]

这个对我有用。在此处阅读有关入口点参数的更多信息https://docs.docker.com/engine/reference/builder/#entrypoint

关于bash - 引用传递给docker入口点的第一个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37378616/

相关文章:

java - 使用命令行执行java程序时maven报错

bash - 查找命令末尾的 `\;` 和 `+` 有什么区别?

mysql - 带有数据库的 Dockerfile 卷 - 将卷用于可变的用户可维护部分

linux - 使用 zsh 时如何自动启 Action 业

docker - 是否可以在由 docker 提供支持的容器中隔离模块内核?

带有 ulimit 的 Docker 服务

docker - 带有 ECS 的代码管道

java - 无法仅使用 dockerFile 运行测试文件 在执行套件之前和之后 未调用之前、之后和测试方法函数

docker - 带有构建参数的ENTRYPOINT和CMD

bash 中的字符串格式化