问题的本质:
我试图让我的容器在 Windows 启动时启动所有服务,但尽管事实是restart: always
系统启动时只有 phpmyadmin 启动,而 mysql 和 xampp 由于某种原因没有启动(Docker 桌面日志为空,没有错误)。如果您手动运行容器,一切都会正常进行。
附加信息:
- 操作系统-Windows
- 我正在使用 WSL 2
- 项目文件位于 ubuntu 子系统文件系统中的 /home
docker compose up
我使用以下命令从 ubuntu 终端启动并构建项目docker-compose up -d --build
docker-compose.yml:
version: "3.9"
services:
php-app:
build:
context: .
dockerfile: Dockerfile
restart: always
volumes:
- ./src:/var/www/html
- ./apache/php.ini:/usr/local/etc/php/php.ini
depends_on:
- database-container
ports:
- 3000:80
database-container:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: mysql_pass
MYSQL_USER: test_user
MYSQL_DATABASE: mysql_db
MYSQL_PASSWORD: user_pass
volumes:
- ./mysql/my.cnf:/etc/my.cnf
- ./mysql/data:/var/lib/mysql:rw"
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin:latest
restart: always
depends_on:
- database-container
links:
- database-container
ports:
- "3001:80"
environment:
PMA_HOST: database-container
MYSQL_ROOT_PASSWORD: mysql_pass