Рубрики
Uncategorized

Rapid Docker на AWS: Как проверить локально?

Как обещали одно из преимуществ докера, то вы можете проверить ваше приложение локально. Для этого, Йо … помечен с AWS, Docker, DevOps.

Как обещали одно из преимуществ докера, то вы можете проверить ваше приложение локально. Для этого вам нужно раскрутить три контейнера:

  • 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»