[Эта статья была написана Марком ван Гольштейном.]
Докер достиг статуса производства несколько месяцев назад. Но одной только контейнерной технологии недостаточно. Вам нужна полная инфраструктура платформы, прежде чем вы сможете развернуть свое докерское приложение в рабочей среде. 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 .