Архив метки: Docker

BASH: массивы, пример – скрипт получения логов из Docker-контейнеров

18 ноября 2016
 

 Есть приложение, которое включает в себя 5 Docker-контейнеров. Для наблюдения за логами используется Loggly, но мне он жутко неудобен – в консоли логи удобнее смотреть и грепать. Запущенное приложение выглядит так: ubuntu@ip-10-5-3-54:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 63937e07a5cf tag-docker.jfrog.io/api-gateway:staging-test-eureka-cloud-versioning-124 “java -Djava.security” 30 minutes ago Up 30 minutes 0.0.0.0:8080->8080/tcp peaceful_blackwell cbf2394197bc… Читать далее »

Docker: docker-maven-plugin – билд Doсker образов в Maven

25 октября 2016
 

 docker-maven-plugin позволяет выполнить сборку Docker образа, включив в него результат билда Maven. Например – вы собираете веб-приложение в виде war-файла, который потом добавляется в Docker образ с Tomcat, и вы получаете готовое к использованию приложение без необходимости сборки Docker отдельно. Ручная сборка Docker образа с Java приложением Сборка с docker-maven-plugin Push в Docker Hub с docker-maven-plugin

Maven: docker-maven-plugin – Exception caught: Request error: POST HTTP 500 Internal Server Error

21 октября 2016
 

 Во время сборки проекта – билд образа с помощью плагина docker-maven-plugin падает с ошибкой:   … [INFO] BUILD FAILURE [INFO] ———————————————————————— [INFO] Total time: 19.379 s [INFO] Finished at: 2016-10-21T09:31:31+00:00 [INFO] Final Memory: 76M/562M [INFO] ———————————————————————— [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.10:build (default) on project oauth2-authserver: Exception caught: Request error: POST unix://localhost:80/build?t=project.jfrog.io/project-oauth2-authserver:stg-hotfix/LTHS-116-79: 500: HTTP 500… Читать далее »

Packer: введение, примеры

20 октября 2016
 

 Введение Packer – утилита для сборки образов виртуальных машин для различных платформ из одного файла конфигурации. Packer не является заменой таких средств как Chef или Ansible, и может использовать их для конфигрирования системы перед сборкой образа. Образ, создаваемый Packer, включает в себя настроенную операционную систему, необходимый набор ПО, который позволяет быстро развернуть новую машину. Packer умеет… Читать далее »

Jenkins: запуск на AWS EC2 + Pipeline Plugin + Docker Pipeline Plugin

12 октября 2016
 

 Задача – поднять Jenkins 2 на AWS EC2, и создать два билда: с помощью плагина workflow-aggregator (Jenkins Pipeline Plugin) – вывести “Hello, World” через Pipeline Script; с помощью плагина docker-workflow (CloudBees Docker Pipeline Plugin) запустить Docker контейнер, в котором Maven-ом будет выполенна сборка Java-проекта. Документация по Jenkins Pipeline Plugin – тут>>>. Документация по CloudBees Docker Pipeline Plugin – тут>>>. Создание EC2 Установка NGINX, Docker Установка… Читать далее »

Docker: Docker Swarm кластер в AWS step-by-step

12 августа 2016
 

 Подготовка инфраструктуры (создание VPC, Master и Slave хостов и т.д.) – описаны в посте AWS: VPC – EC2 в public и private подсетях, NAT и Internet Gateway. Ниже описан запуск Swarm-кластера по “старой” схеме, до выхода Docker 1.12 пару недель тому, в котором Docker Swarm был включен в Docker как “swarm mode“. Отличное описание Docker Swarm есть на whatis.com. “Старый”… Читать далее »

Azure: запуск Docker Swarm на Azure Container Service

8 августа 2016
 

 Azure Container Service позволяет использовать контейнеры в Azure. В примере ниже – запустим Docker Swarm мастер и три агента, после чего с помощью Docker Compose – запустим приложение из приватного репозитория в Docker Hub. Без особых деталей, больше информации тут>>> и тут>>>. Деплой ACS Swarm через ARM Логинимся в Azure: $ azure login

Travis: запуск и сборка Docker-образов

18 июля 2016
 

 Travis CI позволяет собирать, запускать и отправлять образы в репозиторий Docker. Пример .travis.yml файла для запуска Docker: sudo: required services: – docker branches: only: – develop – master before_install: – docker pull microsoft/azure-cli:0.10.0 – docker run microsoft/azure-cli:0.10.0 bash -c “azure –version;” script: – if [ $TRAVIS_BRANCH = “develop” ]; then echo “DEV deploy”; fi -… Читать далее »

Docker: добавить свой образ в репозиторий на Docker Hub

15 июля 2016
 

 Официальный docker-образ от Microsoft содержал Azure CLI версии 0.9.8, а требовалась 0.10. Пример сборки и отправки в Docker Hub образа с azure-cli 0.10.2. Содержимое Dockerfile: FROM ubuntu:14.04 RUN apt-get update && apt-get install -y \ node.js npm \ && ln -s /usr/bin/nodejs /usr/bin/node \ && npm install azure-cli -g

Docker: подключиться к запущенному контейнеру

30 января 2016
 

 Подключиться можно двумя способами – с помощью attach и exec. attach имеет ограничение только на один экземпляр shell (не проверял), кроме того – с ним могут быть проблемы при отключении – Ctrl+C убивает процесс контейнера. Для attach есть опция –sig-proxy, которая не останавливает контейнер – но намного проще использовать exec.