Создание Docker для Yii2 на локальной машине
Чтобы создать Docker-контейнер для приложения Yii2 на вашей локальной машине, выполните следующие шаги:
1. Установка Docker
Если у вас еще не установлен Docker, скачайте и установите его с официального сайта Docker.
2. Создание структуры проекта
Создайте новую директорию для вашего проекта Yii2 и перейдите в нее:
bash
mkdir yii2-docker-app
cd yii2-docker-app
3. Создание Dockerfile
Создайте файл Dockerfile
в корне вашего проекта с содержимым:
dockerfile
# Используем официальный образ PHP с необходимыми расширениями
FROM php:8.0-fpm
# Установка необходимых расширений
RUN docker-php-ext-install pdo pdo_mysql
# Установка Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Установка рабочей директории
WORKDIR /var/www
# Копируем файлы проекта в контейнер
COPY . .
# Установка зависимостей через Composer
RUN composer install
4. Создание docker-compose.yml
Создайте файл docker-compose.yml
в корне вашего проекта:
yaml
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/var/www
ports:
- "8000:80"
depends_on:
- db
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: yii2_db
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
5. Настройка конфигурации Yii2
Вам нужно будет настроить подключение к базе данных в файле config/db.php
вашего приложения Yii2:
php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=db;dbname=yii2_db',
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
];
6. Запуск контейнеров
Теперь вы готовы запустить ваше приложение. В терминале выполните команду:
bash
docker-compose up -d
Эта команда создаст и запустит контейнеры в фоновом режиме.
7. Доступ к приложению
После успешного запуска контейнеров, вы сможете получить доступ к вашему приложению по адресу http://localhost:8000.