为什么 soft link 没有保存在 docker 容器中
why soft link is not saved in docker container
我从 python3 创建了一个 python link,但是当我登录到容器镜像时它没有被保存。为什么?
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y libxml2-dev xmlsec1
RUN apt-get install -y python3-pip python3-dev
RUN cd /usr/local/bin
RUN ln -s /usr/bin/python3 python
RUN pip3 --no-cache-dir install --upgrade pip
RUN rm -rf /var/lib/apt/lists/*
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD python3 app.py
命令 RUN
每次都会启动一个新的 shell。结果,工作目录在 dockerfile 步骤之间没有保留,所以
RUN cd /usr/local/bin
不会影响后面的ln
命令。您可以一步合并这两个命令:
RUN cd /usr/local/bin && ln -s /usr/bin/python3 python
或者,使用 WORKDIR
或提供 ln
的完整 link 路径。
我从 python3 创建了一个 python link,但是当我登录到容器镜像时它没有被保存。为什么?
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y libxml2-dev xmlsec1
RUN apt-get install -y python3-pip python3-dev
RUN cd /usr/local/bin
RUN ln -s /usr/bin/python3 python
RUN pip3 --no-cache-dir install --upgrade pip
RUN rm -rf /var/lib/apt/lists/*
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD python3 app.py
命令 RUN
每次都会启动一个新的 shell。结果,工作目录在 dockerfile 步骤之间没有保留,所以
RUN cd /usr/local/bin
不会影响后面的ln
命令。您可以一步合并这两个命令:
RUN cd /usr/local/bin && ln -s /usr/bin/python3 python
或者,使用 WORKDIR
或提供 ln
的完整 link 路径。