我有一个Docker容器(不是映像),当我尝试启动它时会崩溃。 Docker日志显示它失败,因为Apache2 conf文件找不到目录(/ var / www / html / log /-这是我尝试获取SSL设置并忘记引用后创建此目录的结果将其放入000-default.conf文件中,然后重新启动Apache)。
如何在无需启动容器本身的情况下在容器中创建此目录?
答案 0 :(得分:2)
您有在我脑海4.5选项:
-ti
标志来进行操作,以便它以交互模式开始。然后进行更改并运行docker commit -p <container> <image:tag>
-p在提交时暂停容器。我建议这样做,除非它绝对需要运行。docker start -i container
以交互方式启动容器,该容器将附加一个终端。如果您有时间等待容器退出或阅读配置的那一部分,则可以创建文件夹。docker cp [container:]<source> [container:]<destination>
将文件和文件夹从文件系统移至容器。答案 1 :(得分:1)
通常,如果您正在为Apache使用基本的Docker映像(例如,httpd / 2.4 / Dockerfile),则应该已经具有“ / var / www / html / log”。
建议1:请确保您使用的是“良好”的基本图片。
建议2:将“ mkdir -p / var / www / html / log”添加到Dockerfile中,然后重建映像。
我不确定您如何使用图片-您希望图片包含除 Apache之外的内容-但是:
建议3:在Google上找到与您的用例相匹配的简单教程,并查看您可能“遗漏了”哪些步骤。例如:Dockerize your Laravel Application