linux - Debian Docker 配置文件

标签 linux apache docker debian

我已经使用以下命令运行图像 eboraas/apache-php:

docker run --name eboraas -d -p 80:80 -v /my/project/dir/:/var/www/html \
    -v /my/config:/etc/apache2  eboraas/apache-php

当我测试这个时,我得到服务器未找到。当我离开第二个 -v 时,它起作用了。但是我怎样才能改变我的 apache2 配置文件的目的地呢?无需再写它们。例如,我想要 /my/config 中的所有 Docker apache 配置文件。

最佳答案

第一个选项 是基于原始图像 eboraas/apache-php 创建您自己的图像(您应该创建自己的 Dockerfile)并在您的 Dockerfile 中使用 COPY。

FROM eboraas/apache-php
COPY /my/config /etc/apache2

工作原理:当您更改本地 Apache 配置文件时,您应该在此之后重建镜像并重新启动容器以应用更改。

第二个选项 就是使用 docker cp 并在每次更改本地 apache 配置文件后运行它:

docker cp /my/config eboraas:/etc/apache2/

如果你在容器内更改配置文件,你也可以复制它:

docker cp eboraas:/etc/apache2/ /my/config 

更多信息 https://docs.docker.com/engine/reference/commandline/cp/ .

顺便说一句。我会推荐你​​使用 docker-compose 因为这个命令很长而且使用起来不舒服(https://docs.docker.com/compose/)。

关于linux - Debian Docker 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41778818/

相关文章:

apache - 在 Apache 运行时 APR 中限制文件夹访问

ubuntu - 如何在 Docker 镜像中打开 Ubuntu GUI

linux - 如果下一个请求适合 mmap 是否使用已分配的 block ?

linux - 如何在linux shell中将4月1日转换为3月31日

python - Apache 和 Flask : attempt to invoke directory as script

c# - Docker 在 VS 中运行,但在发布到 AWS 时出错?错误 CS5001 : Program does not contain a static 'Main' method suitable for an entry point

docker - docker-compose 中标签的实际用途是什么

python - 使用 python 删除 .dat 文件中的行和列

php - 加载 index.php 作为我在 PHP 中的第一页

linux - 协作安装的问题