Docker COPY命令未将本地文件复制到容器的问题排查请求
Docker COPY命令未将本地文件复制到容器镜像问题排查求助
我遇到了Docker构建的问题:Dockerfile中的COPY命令在构建过程中没有把本地的pinglogs.py复制到容器镜像里,具体情况如下:
Dockerfile内容
FROM python:3.11-slim-bookworm RUN apt-get update && apt-get upgrade -y RUN apt install -y iputils-ping RUN mkdir -p app COPY pinglogs.py /app/ ENTRYPOINT ["tail", "-f", "/dev/null"]
文件目录结构
pinglogs.py和Dockerfile在同一目录下:
builder@rpi4-home:~/pinglogs/ping_logger $ ls Dockerfile pinglogs.py
构建与运行情况
我用docker buildx构建多平台镜像,构建成功,但拉取镜像并运行后,进入容器查看/app目录,发现没有pinglogs.py:
root@a63fc87d46cf:/app# ls -al total 4 drwxrwxrwx 1 root root 4096 Jan 8 12:09 . drwxr-xr-x 1 root root 4096 Jan 8 13:20 ..
这个Dockerfile是调试用的,原本的ENTRYPOINT是:
ENTRYPOINT ["python", "/app/pinglogs.py"]
当时运行容器会直接退出,提示找不到pinglogs.py,所以我改成了tail -f /dev/null来进入容器检查文件是否存在。
注:已经确认当前目录下不存在.dockerignore文件
构建命令
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t ravipathakedt/eis-ping-logger:v0.1.3d11 --push .
我在Windows和树莓派4上测试,运行命令如下,结果一致:
docker run -v /C/Users/ravi/pinger:/app/ ravipathakedt/eis-ping-logger:v0.1.3d11
内容的提问来源于stack exchange,提问作者trexde
相关产品推荐
相关产品推荐

