【发布时间】:2021-10-22 03:49:16
【问题描述】:
嗨,乐于助人的世界人民!
我正在进入容器化和 docker,我正在尝试创建一些基本容器。 我在 Windows 上运行 Docker。
我想创建一个使用 curl 命令运行 shell 脚本的容器。我在 docker 上找到了一个内置 curl 的图像。
我在 Windows 中的目录结构如下所示
curl_container(文件夹)
Dockerfile(文件)
curl_registry.sh(文件)
curl_registry.sh 代码是
#!/bin/bash
while :
do
HOSTNAME=$(hostname)
DATE=$(date +'%Y-%m-%d')
TIME=$(date +'%Y/%m/%d %X')
CURL_RESULT=`http://www.google.com | head -1`
echo $TIME $HOSTNAME $CURL_RESULT
sleep 5
done
exit
我的 Docker 文件看起来像这样
FROM eamonwoortman/alpine-python-curl-zip
MAINTAINER red_badger@burrow.uk
WORKDIR /
COPY . /
RUN ["chmod", "+x","curl_registry.sh"]
ENTRYPOINT [ "./curl_registry.sh" ]
我能够构建容器;
PS C:\temp\Docker\Curl_container> docker build -t curl_container:1.18 .
[+] Building 1.0s (8/8) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> transferring dockerfile: 238B 0.0s
=> [internal] load .dockerignore 0.0s
=> [internal] load metadata for docker.io/eamonwoortman/alpine-python-curl-zip:latest 0.0s
=> CACHED [1/4] FROM docker.io/eamonwoortman/alpine-python-curl-zip 0.0s
=> [2/4] COPY . / 0.1s
=> [3/4] RUN ["chmod", "+x","curl_registry.sh"]
=> writing image sha256:497b03c55d8e90e7eff43c8868e420498516477b9225ad6d3bdf0076ebe9d9ed 0.0s
=> naming to docker.io/library/curl_container:1.18 0.0s
但是当我运行它时,我收到以下错误
PS C:\temp\Docker\Curl_container> docker run 497b03c55d8e standard_init_linux.go:228: exec user process caused: no such file or directory
我想让脚本在文件夹 /apps 中运行,但我认为这是我的问题,因此尝试将文件放入根目录。
我已经尝试使用 ADD 命令代替 COPY 并且得到了相同的结果。
curl_registry.sh 在 windows 中显示为 .sh 文件。
我已经通过 notepad++ 运行我的 sh 文件并转换为 unix LF。
【问题讨论】:
标签: windows bash docker containers