无法在 docker 容器内创建文件夹

Unable to create folder inside docker container

我正在尝试在我的 docker 容器内的位置 (/usr/local/lib/python2.7/site-packages/ip360da) 创建一个文件夹 (/data/connect),为此,我在我的 docker 文件 (运行 mkdir -p /usr/local/lib/python2.7/site-packages/ip360da/data/connect) 中提到了这一步,但是不知何故,这个特定的文件夹没有在里面创建这是我的docker文件。

FROM python:2.7.18 as build
WORKDIR /build

COPY config/requirements.txt \
 config/test.json \
 builddir/.netrc \
 ./
RUN mkdir -p /usr/local/lib/python2.7/site-packages/ip360da/data/connect
COPY config/config.json /usr/local/lib/python2.7/site-packages/ip360da/data/connect

##############################################################
FROM python:2.7.18-slim

WORKDIR /app

COPY --from=build /build /app
RUN mv .netrc ~ && \
apt-get update && \
apt-get upgrade --assume-yes && \
# Used by Pipeline to differentiate from manually installed packages
apt list --installed >/tmp/preinstalled-packages 2>/dev/null  && \
apt-get clean && \
groupadd --gid 2000 tripwire && \
useradd --system --uid 2000 --gid tripwire tripwire

RUN pip install -r /app/requirements.txt

COPY scripts/daemon.py /usr/local/lib/python2.7/site-packages/ip360da/utils
COPY scripts/mock.py /usr/local/lib/python2.7/site-packages/ip360da/vne

USER root:root

ENTRYPOINT sleep infinity

您在构建的构建阶段创建目录。这并没有出现在最终图像中。只有 Dockerfile 中最后一个 FROM 语句之后的内容才会出现在镜像中。

所以不用

RUN mkdir -p /usr/local/lib/python2.7/site-packages/ip360da/data/connect
COPY config/config.json /usr/local/lib/python2.7/site-packages/ip360da/data/connect

##############################################################
FROM python:2.7.18-slim

你应该做

##############################################################
FROM python:2.7.18-slim
RUN mkdir -p /usr/local/lib/python2.7/site-packages/ip360da/data/connect
COPY config/config.json /usr/local/lib/python2.7/site-packages/ip360da/data/connect