Как обещали одно из преимуществ докера, то вы можете проверить ваше приложение локально. Для этого вам нужно раскрутить три контейнера:
- Nginx.
- PHP-FPM.
- MySQL (который будет заменен Amazon Aurora при развертывании на AWS)
Теоретически, вы можете создать необходимые контейнеры вручную с Docker Run Но это немного громоздко. Вы будете использовать Docker Compose, инструмент для работы с несколькими контейнерами, вместо этого.
Все, что вам нужно сделать, это создать Docker Compose File Docker-Compose.yml Отказ
Настройка Возможно, вам нужно добавить свои собственные переменные среды для контейнера PHP (см. Встроенные комментарии).
version: '3'
services:
nginx:
build:
context: '..'
dockerfile: 'docker/nginx/Dockerfile' # build your NGINX image
depends_on:
- php
network_mode: 'service:php' # use network interface of php container to simulate awsvpc network mode
php:
build:
context: '..'
dockerfile: 'docker/php-fpm/Dockerfile' # build PHP image
ports:
- '8080:80' # forwards port of nginx container
depends_on:
- mysql
environment: # add your own variables used by envsubst here
DATABASE_HOST: mysql
DATABASE_NAME: app
DATABASE_USER: app
DATABASE_PASSWORD: secret
mysql:
image: 'mysql:5.6' # matches the Amazon Aurora MySQL version
command:'--default-authentication-plugin=mysql_native_password'
ports:
- '3306:3306' # forwards port 3306 to 3306 on your machine
environment:
MYSQL_ROOT_PASSWORD: secret # password for root user
MYSQL_DATABASE: app # create database with name app
MYSQL_USER: app # user app is granted full access to db app
MYSQL_PASSWORD: secret # the password for user app
Из Внутри вашей временной рабочей среды выполните следующую команду для раскрутки контейнеров на вашем компьютере.
docker-compose -f docker/docker-compose.yml up
Magiciany, Docker Compose раскрутит три контейнера. Укажите свой браузер на http://localhost: 8080/index.php Чтобы убедиться, что ваше веб-приложение работает и работает. Файлы журналов всех контейнеров будут отображаться в вашем терминале, что много упрощает отладку.
Если вам нужно сделать изменения в настройке, пожалуйста, отмените работу Docker-Compose процесс Ctrl + C И после этого перезапустите следующую команду, чтобы убедиться, что изображения восстанавливаются.
docker-compose -f docker/docker-compose.yml up --build
Используйте свой любимый клиент MySQL и подключитесь к localhost: 3306 с именем пользователя root и пароль секретарь Если вам нужно создать схему или восстановить дамп базы данных.
После того, как вы проверили, что ваше приложение работает правильно, отмените работу Docker-Compose Процесс нажатием Ctrl + C и отрывьте контейнеры.
docker-compose -f docker/docker-compose.yml down
Пришло время развернуть ваше веб-приложение на AWS. Вы узнаете, как так в следующей части этой серии.
У вас есть вопросы? Пожалуйста, оставьте их в комментариях. Это 3-й пост серии. Следуйте за мной, чтобы убедиться, что вы не пропустите следующие посты.
Этот пост — это выдержка из нашей новой книги Rapid Docker на AWS Отказ Книга включает в себя образцы кода для PHP, Ruby (Rails), Python (Django), Джава (Spring Boot) и Node.js (Express).
Оригинал: «https://dev.to/andreaswittig/rapid-docker-on-aws-how-to-test-locally-4c76»