我有一个Dockerfile,其中已指定一个ENTRYPOINT“ my_script.sh”。在my_script.sh中,我正在执行CURL命令的剪切。构建带有此Dockerfile的Docker映像时,应如何运行my_script.sh的输出将打印在我的主机上。
Dockerfile-
FROM my-company-repo-java-base-image
ADD my_script.sh /root
ENTRYPOINT bash "/root/my_script.sh
my_script.sh
echo "Hello My Script"
curl -x POST "some_api_which_returns_json"
我已经使用命令构建了图像 docker build
我想运行此图像并在dockerhost上查看my_script.sh的输出。
答案 0 :(得分:1)
给出一个标记为$ DOCKER_IMAGE的Docker映像:
docker container run -it --rm $DOCKER_IMAGE
-i
保持STDIN打开
-t
分配伪TTY
--rm
退出时自动删除容器
有关所有选项,请参见docker container run。
答案 1 :(得分:0)
当然,您可以看到shell脚本的输出。更改脚本时,请确保先删除旧映像,然后再构建新映像。否则,您的容器将反复使用旧脚本。这是一个例子
FROM alpine:3.7
ENTRYPOINT ["/usr/bin/myscript.sh"]
COPY myscript.sh /usr/bin/myscript.sh
#!/usr/bin/env sh
echo "Hello there"
docker image rm testdocker
docker build --tag testdocker .
docker run testdocker
您应该看到Hello there
行出现在终端上