Статьи

Как развернуть приложение Docker в производство на Amazon AWS

[Эта статья была написана Марком ван Гольштейном.]

Докер достиг статуса производства несколько месяцев назад. Но одной только контейнерной технологии недостаточно. Вам нужна полная инфраструктура платформы, прежде чем вы сможете развернуть свое докерское приложение в рабочей среде. Amazon AWS предлагает именно это: производственную платформу качества, которая обеспечивает предоставление емкости, балансировку нагрузки, масштабирование и мониторинг работоспособности приложений для приложений Docker.

В этом блоге вы узнаете, как развернуть приложение Docker в производство, за пять простых шагов.

В демонстрационных целях вы собираетесь использовать приложение node.js, которое было построено для CloudFoundry и  использовалось для демонстрации Deis в предыдущем посте.  Действительно полезное приложение, источники которого доступны на github .

1. Создайте Dockerfile

Первое, что вам нужно сделать, это создать Dockerfile для создания образа. Это довольно просто: вы устанавливаете пакеты node.js и npm, копируете исходные файлы и устанавливаете модули javascript.

# DOCKER-VERSION 1.0
FROM    ubuntu:latest
#
# Install nodejs npm
#
RUN apt-get update
RUN apt-get install -y nodejs npm
#
# add application sources
#
COPY . /app
RUN cd /app; npm install
#
# Expose the default port
#
EXPOSE  5000
#
# Start command
#
CMD ["nodejs", "/app/web.js"]

2. Протестируйте приложение докера

Теперь вы можете создать образ Docker и протестировать его.

$ docker build -t sample-nodejs-cf .
$ docker run -d -p 5000:5000 sample-nodejs-cf

Направьте свой браузер на http: // localhost: 5000 , нажмите кнопку «Пуск» и Presto!

3. Заархивируйте источники

Теперь вы знаете, что экземпляр работает, вы архивируете исходные файлы. Образ будет построен на Amazon AWS на основе вашего Dockerfile.

$ zip -r /tmp/sample-nodejs-cf-srcs.zip .

4. Разверните приложение Docker в Amazon AWS

Теперь вы  устанавливаете и настраиваете интерфейс командной строки (CLI) amazon AWS и внедряете исходные файлы докера в эластичный beanstalk. Вы можете сделать все это вручную, но здесь вы используете сценарий  deploy-to-aws.sh, который я создал.

$ deploy-to-aws.sh \
         sample-nodejs-cf \
         /tmp/sample-nodejs-cf-srcs.zip \
         demo-env

Примерно через 8-10 минут ваше приложение будет запущено. Вывод должен выглядеть следующим образом.

INFO: creating application sample-nodejs-cf
INFO: Creating environment demo-env for sample-nodejs-cf
INFO: Uploading sample-nodejs-cf-srcs.zip for sample-nodejs-cf, version 1412948762.
upload: ./sample-nodejs-cf-srcs.zip to s3://elasticbeanstalk-us-east-1-233211978703/1412948762-sample-nodejs-cf-srcs.zip
INFO: Creating version 1412948762 of application sample-nodejs-cf
INFO: demo-env in status Launching, waiting to get to Ready..
...
INFO: demo-env in status Launching, waiting to get to Ready..
INFO: Updating environment demo-env with version 1412948762 of sample-nodejs-cf
INFO: demo-env in status Updating, waiting to get to Ready..
...
INFO: demo-env in status Updating, waiting to get to Ready..
INFO: Version 1412948762 of sample-nodejs-cf deployed in environment
INFO: current status is Ready, goto http://demo-env-vm2tqi3qk4.elasticbeanstalk.com

5. Протестируйте свое приложение Docker в интернете!

Ваша заявка теперь доступна в Интернете. Перейдите к указанному URL и нажмите «Пуск». Когда вы увеличите количество экземпляров в Amazon, они появятся в приложении. При развертывании новой версии приложения вы можете наблюдать, как новые версии приложения отображаются без ошибок в клиентском приложении.

Для получения дополнительной информации перейдите на страницу Amazon Elastic Beanstalk и добавлена ​​поддержка Docker. и Dockerizing в Node.js Web App .