Docker compose 命令不从“起作用”;“命令”;docker compose中的节
我尝试使用来运行我的(Laravel)代码。因为我们的生产服务器上目前有apache 但是,我需要加载模块mod_rewrite,默认情况下我不是这样 docker compose.ymlDocker compose 命令不从“起作用”;“命令”;docker compose中的节,docker-compose,Docker Compose,我尝试使用来运行我的(Laravel)代码。因为我们的生产服务器上目前有apache 但是,我需要加载模块mod_rewrite,默认情况下我不是这样 docker compose.yml apache: restart: unless-stopped image: php:7.2-apache container_name: apache_l command: bash -c "a2enmod rewrite && service apach
apache:
restart: unless-stopped
image: php:7.2-apache
container_name: apache_l
command: bash -c "a2enmod rewrite && service apache2 restart"
ports:
- 80:80
- 443:443
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/public/
volumes:
- .:/var/www/html
- ./docker/php-ini/php.ini:/usr/local/etc/php/php.ini
- ./docker/sites-enabled:/etc/apache2/sites-enabled/
apache:
restart: unless-stopped
image: php:7.2-apache
container_name: apache_l
# depends_on:
# - openssl
ports:
- 80:80
- 443:443
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/public/
volumes:
- .:/var/www/html
- ./docker/apache2:/etc/apache2/
我编写该命令是为了启动mod_rewrite,如下所示:
如果我在容器中手动运行这些命令,它会正常工作,但是在这样的命令部分,我会得到一个错误日志:
启用模块重写
要激活新配置,您需要运行:
服务apache2重新启动
AH00558:apache2:无法可靠地确定服务器的完整配置
限定域名,使用192.168.0.3。设置“服务器名”
指令来全局抑制此消息
重新启动Apache httpd web服务器:apache2
模块重写已启用
为什么它只在手动运行这些命令时才起作用
奖金问题:(没那么重要)
为什么APACHE_DOCUMENT_ROOT环境变量不起作用。我必须手动更改
:/etc/apache2/sites enabled/
中的配置,才能使其工作,但变量已公布。我通过第一次运行以另一种方式修复了它
docker cp apache_l:/etc/apache2/ .\docker\
将整个配置目录复制到主机,然后将该目录作为卷装入docker compose.yml
apache:
restart: unless-stopped
image: php:7.2-apache
container_name: apache_l
command: bash -c "a2enmod rewrite && service apache2 restart"
ports:
- 80:80
- 443:443
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/public/
volumes:
- .:/var/www/html
- ./docker/php-ini/php.ini:/usr/local/etc/php/php.ini
- ./docker/sites-enabled:/etc/apache2/sites-enabled/
apache:
restart: unless-stopped
image: php:7.2-apache
container_name: apache_l
# depends_on:
# - openssl
ports:
- 80:80
- 443:443
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/public/
volumes:
- .:/var/www/html
- ./docker/apache2:/etc/apache2/
我还制作了一个符号链接,从mods可用/重写.load到mods启用/重写.load