Dockerfile中的Symlink命令不会在容器中创建链接

时间:2020-08-27 11:04:58

标签: docker symlink

在我的Dockerfile中,有以下一行:

RUN ln -s /var/www/html/some_file /var/www/html/another_file

运行docker build时,将执行所有步骤,包括创建符号链接,但是当我使用创建的图像启动容器并检查文件夹/var/www/html/时,看不到该链接。 我尝试在线搜索是否受docker支持,但找不到答案。 我正在与FROM指令一起使用的另一个容器映像已经可以使用该容器的内容,因此文件/var/www/html/some_file不在我的计算机上。

不涉及卷。这是Dockerfile:

FROM piwik:3.2.1-apache

RUN apt update

RUN ln -s /var/www/html/some_file /var/www/html/another_file

CMD [ "apache2-foreground" ]

1 个答案:

答案 0 :(得分:0)

Dockerfile for that image(已经3年半了,没有任何更新!)的行是:

VOLUME /var/www/html

这将防止任何后续的RUN指令对该目录进行任何更改,即使该目录位于派生映像中也是如此。

无法取消目录的卷,因此,如果需要此符号链接存在,则需要从基础PHP映像创建一个新映像,亲自安装该软件,或者将其入口点脚本与自己创建的映像一起包装启动时的符号链接。