我一直在努力使它运行很多小时。我一直在搜索docker文档,github仓库和其他内容,但由于某种原因我无法使其正常工作。
我的dockerfile:
FROM mattrayner/lamp:latest-1804
WORKDIR /app
RUN wget -O /tmp/lwt.zip http://downloads.sourceforge.net/project/lwt/lwt_v_1_6_3.zip && \
yes A | unzip /tmp/lwt.zip &&\
rm /tmp/lwt.zip &&\
mv connect_xampp.inc.php connect.inc.php
EXPOSE 80
CMD ["/run.sh"]
它正常构建,没有任何错误,但是当我运行该映像时,/app
目录中什么也没有出现,并且在浏览器上仅显示了一个基本的 Welcome to LAMP 视图。
尽管
如果我执行docker run -p "80:80" -it -v ${PWD}/app:/app mattrayner/lamp:latest-1804 /bin/bash
,cd /app
,请复制并粘贴
wget -O /tmp/lwt.zip http://downloads.sourceforge.net/project/lwt/lwt_v_1_6_3.zip && \
yes A | unzip /tmp/lwt.zip &&\
rm /tmp/lwt.zip &&\
mv connect_xampp.inc.php connect.inc.php
如果我退出并运行相同的docker run
命令,它仍然不起作用但。
Docker LAMP指令也指出要完全按照我的意愿做:
FROM mattrayner/lamp:latest-1804
# Your custom commands
CMD ["/run.sh"]
按照这些说明进行操作时,我认为一切都会很好。
这里有什么收获?它可能与中间容器有关,但我无法理解(我不是行业的开发人员或开发人员,只是一个业余爱好者)。
答案 0 :(得分:4)
发生这种情况是因为您正在这样做:
/app
目录中下载文件(wget ...)。docker build
目录,其中包含$ PWD / app的内容。如果要在某些目录中安装plt.legend(loc="upper right")
,请不要装入同一路径。
如果您需要在同一路径中放置某些内容,则可以装入一些具体文件,但不能装入整个目录,否则它将覆盖创建容器时在Docker映像中的内容。
您可以在其他地方安装wget或将其下载到$ {PWD} / app中,然后进行安装。