Для начала необходимо клонировать репозиторий
https://github.com/yiisoft/yii2-docker
После успешного клонирования переходим в папку yii2-docker
cd yii2-docker
В директории необходимо открыть файл .env
с помощью редактора или используя редактор в консоли
nano .env
и поменять версию PHP на 8.1
HP_BASE_IMAGE_VERSION=8.1-apache
Для добавления mysql и phpMyAdmin добавить следующий код в docker-compose.yml
db:
image: mysql:8.0
restart: always
environment:
- MYSQL_DATABASE=demo_project
- MYSQL_USER=demo_user
- MYSQL_PASSWORD=123456
- MYSQL_ROOT_PASSWORD=123456
ports:
- '3306:3306'
expose:
- '3306'
volumes:
- "./docker/mysql:/var/lib/mysql"
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- '8888:80'
environment:
- PMA_ARBITRARY=1
- PMA_HOST=db
depends_on:
- db
Таким образом, полный файл docker-compose.yml
будет выглядеть так:
version: '2'
services:
php:
image: yiisoftware/yii2-php:8.1-apache
volumes:
- ~/.composer-docker/cache:/root/.composer/cache:delegated
- ./:/app:delegated
ports:
- '8000:80'
db:
image: mysql:8.0
restart: always
environment:
- MYSQL_DATABASE=demo_project
- MYSQL_USER=demo_user
- MYSQL_PASSWORD=123456
- MYSQL_ROOT_PASSWORD=123456
ports:
- '3306:3306'
expose:
- '3306'
volumes:
- "./docker/mysql:/var/lib/mysql"
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- '8888:80'
environment:
- PMA_ARBITRARY=1
- PMA_HOST=db
depends_on:
- db
Запустить Docker если он не запущен и выполнить команду
docker-compose build
После чего будут установлены контейнеры
После необходимо установить зависимости командой
docker-compose run --rm php composer update --prefer-dist
И запустить скрипты (postInstall)
docker-compose run --rm php composer install
После этого запускаем контейнеры
docker-compose up -d
В результате сайт будет доступен по адресу http://localhost:8000/
А phpMyAdmin по адресу http://localhost:8888/