【发布时间】:2020-11-18 10:24:39
【问题描述】:
我目前正在尝试使用 mysql 和 php 在 Docker 容器中运行我的网站。
Docker 编写:
version: '3.7'
services:
mysql:
image: mysql:latest
container_name: mysql
restart: always
environment:
//Database configuration variables
volumes:
- ./data/mysql/database:/var/lib/mysql
webserver:
image: php:7.4.12-apache
depends_on:
- mysql
restart: always
volumes:
- ./data/webserver:/var/www/html/
ports:
- 8888:80
command: bash -c "docker-php-ext-install mysqli && kill -HUP 1"
phpmyadmin:
depends_on:
- mysql
image: phpmyadmin:latest
container_name: phpmyadmin
links:
- mysql:db
restart: always
ports:
- 8889:80
volumes:
- /sessions
问题是在我将命令块添加到 webserver-container 之后开始的。没有它,容器运行完美,我可以访问网站。但是使用该命令,容器会卡在引导循环中,并且似乎它试图一遍又一遍地运行该命令。至少这就是我在查看 webserver 容器的日志后的猜测。
但是,当我使用docker exec -it *webserver* bash 并直接在容器中运行安装命令时,它可以完美运行。然后我用kill -HUP 1 重新启动apache,网站按预期工作。有谁知道这是什么问题?
【问题讨论】:
标签: php apache docker docker-compose