Docker Desktop перезапускает только часть сервисов в контейнере
Суть проблемы:
Пытаюсь сделать так чтоб мой контейнер со всеми сервисами запускался при старте Windows, но не смотря на то, что везде стоит restart: always
запускается при запуске системы только phpmyadmin, при этом mysql и xampp просто не запускаются почему-то(в логах Docker Desktop пусто, ошибок нет). Если запускать контейнер в ручную то все работает как часы.
Уточнающая информация:
- OS - Windows
- Использую WSL 2
- Файлы проекта находятся в файловой системе подсистемы ubuntu по пути /home
- запускаю и собираю проект из терминала ubuntu командами
docker compose up
и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
Ответы (1 шт):
Для тех, кто столкнется с подобной проблемой, и кому докер нужен не только для отладки, а чтобы все работало быстро, советую не устанавливать docker desktop вообще, а поставить wls2, и внутри подсистемы linux (в моем случае ubuntu 24.04.1
) установить docker
, потому что я потерял 4 дня на танцы с бубном и по итогу пришел к выводу, что интеграция wls2 с docker desktop то ли сырая, то ли работает как-то некорректно, из wsl все работает нормально, порты даже не пришлось внутри прокидывать.