无法在 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
我正在尝试在我的 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