Статьи

Выпущен Docker 1.6 – Docker Machine 0.2.0

Docker 1.6 был выпущен вчера . Ключевые моменты:

  • Ярлыки контейнеров и изображений позволяют прикреплять пользовательские метаданные к контейнерам и изображениям ( запись в блоге )
  • Docker Windows Client ( запись в блоге )
  • Драйверы ведения журналов позволяют отправлять журналы контейнеров в другие системы, такие как Syslog или сторонние. Это доступно как новая опция для docker run --log-driver , --log-driver , которая имеет три опции: json-file (по умолчанию и такой же, как у старой функциональности), syslog и none . ( тянуть запрос )
  • Content Addressable Image Identifiers упрощает применение исправлений и обновлений ( документов )
  • Пользовательские cgroups, использующие --cgroup-parent позволяют определять пользовательские ресурсы для этих cgroups и помещать контейнеры в общую родительскую группу ( запрос на извлечение )
  • Настраиваемые параметры ulimit для всех контейнеров с использованием --default-ulimit ( pull request )
  • Применить инструкции Dockerfile при фиксации или изменении можно с помощью commit --change и import –change`. Позволяет указать стандартные изменения, которые будут применены к новому изображению ( документы )
  • Изменения

Кроме того, Registry 2.0 , Machine 0.2 , Swarm 0.2 и Compose 1.2 также выпущены.

Этот блог покажет, как начать работу с Docker Machine 0.2.0. Последующие блоги покажут, как использовать Docker Swarm 0.2.0 и Compose 1.2.

Скачать Docker Client

Docker Machine переносит вас с нуля в Docker на хосте с помощью одной команды. Этот хост может быть вашим ноутбуком, в облаке или в вашем дата-центре. Он создает серверы, устанавливает на них Docker, а затем настраивает клиент Docker для связи с ними.

Он работает с различными драйверами, такими как Amazon, VMWare и Rackspace. На локальном ноутбуке проще всего запустить драйвер VirtualBox. Подробнее о настройке Docker Machine в следующем разделе. Но чтобы команды Docker работали без использования SSH в образе VirtualBox, нам нужно установить Docker CLI.

Давайте сделаем это!

1
2
Aruns-iMac:~ arungupta$ curl https://get.docker.com/builds/Darwin/x86_64/docker-latest > /usr/local/bin/docker
chmod +x /usr/local/bin/docker

Если вы установили Boot2Docker отдельно, значит, в виртуальную машину включен Docker CLI. Но этот подход позволит вам напрямую вызывать несколько хостов с вашего локального компьютера.

Docker Machine 0.2.0

Узнайте больше о Docker Machine и о том, как начать работу с версией 0.1.0. Docker 1.6 выпустил Docker Machine 0.2.0. В этом разделе будет рассказано, как его использовать и настроить в Mac OS X.

  1. Скачать Docker Machine 0.2.0:
    1
    2
    3
    4
    5
    6
    Aruns-iMac:~ arungupta$ curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_darwin-amd64 > /usr/local/bin/docker-machine
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   401    0   401    0     0    667      0 --:--:-- --:--:-- --:--:--   668
    100 11.3M  100 11.3M    0     0  1942k      0  0:00:05  0:00:05 --:--:-- 2686k
    Aruns-iMac:~ arungupta$ chmod +x /usr/local/bin/docker-machine
  2. Проверьте версию:
    1
    2
    Aruns-iMac:~ arungupta$ docker-machine -v
    docker-machine version 0.2.0 (8b9eaf2)
  3. Загрузите и установите последнюю версию VirtualBox .
  4. Создайте хост Docker с помощью провайдера VirtualBox:
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    Aruns-iMac:~ arungupta$ docker-machine create --driver virtualbox mydocker
    INFO[0000] Creating CA: /Users/arungupta/.docker/machine/certs/ca.pem
    INFO[0001] Creating client certificate: /Users/arungupta/.docker/machine/certs/cert.pem
    INFO[0003] Creating SSH key...                         
    INFO[0003] Image cache does not exist, creating it at /Users/arungupta/.docker/machine/cache...
    INFO[0003] No default boot2docker iso found locally, downloading the latest release...
    INFO[0003] Downloading latest boot2docker release to /Users/arungupta/.docker/machine/cache/boot2docker.iso...
    INFO[0014] Creating VirtualBox VM...                   
    INFO[0019] Starting VirtualBox VM...                   
    INFO[0019] Waiting for VM to start...                  
    INFO[0062] "mydocker" has been created and is now the active machine.
    INFO[0062] To point your Docker client at it, run this in your shell: eval "$(docker-machine env mydocker)"
  5. Настройте клиент, введя в терминале следующую команду:
    1
    Aruns-iMac:~ arungupta$ eval $(docker-machine env mydocker)
  6. Список запущенных экземпляров Docker Machine:
    1
    2
    3
    Aruns-iMac:~ arungupta$ docker-machine ls
    NAME       ACTIVE   DRIVER       STATE     URL                         SWARM
    mydocker   *        virtualbox   Running   tcp://192.168.99.100:2376
  7. Список Docker изображений и контейнеров:
    1
    2
    3
    4
    5
    Aruns-iMac:~ arungupta$ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    Aruns-iMac:~ arungupta$ docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    Aruns-iMac:~ arungupta$

    Обратите внимание, что нет существующих изображений или контейнера.

  8. Запустите тривиальное приложение Java EE 7 на WildFly, используя образ arungupta / javaee7-hol :
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Aruns-iMac:~ arungupta$ docker run -it -p 8080:8080 arungupta/javaee7-hol
    Unable to find image 'arungupta/javaee7-hol:latest' locally
    Pulling repository arungupta/javaee7-hol
    a068decaf892: Download complete
    511136ea3c5a: Download complete
    5b12ef8fd570: Download complete
    ae0c2d0bdc10: Download complete
    e490dfcb3685: Download complete
    f212cb9dbcf5: Download complete
    28b11e6151f0: Download complete
     
    . . .
     
    23:54:25,481 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017534: Registered web context: /movieplex7
    23:54:25,513 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 31) JBAS018559: Deployed "movieplex7-1.0-SNAPSHOT.war" (runtime-name : "movieplex7-1.0-SNAPSHOT.war")
    23:54:25,563 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
    23:54:25,563 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
    23:54:25,564 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 8093ms - Started 400 of 452 services (104 services are lazy, passive or on-demand)
  9. Найти IP-адрес хоста Docker:
    1
    2
    Aruns-iMac:~ arungupta$ docker-machine ip
    192.168.99.100
  10. Откройте приложение по адресу http://192.168.99.100:8080/movieplex7/, чтобы увидеть результат в виде:

    Докер-машина-0.2.0-вывода

  11. Перечислите изображения снова:
    1
    2
    3
    Aruns-iMac:~ arungupta$ docker images
    REPOSITORY              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    arungupta/javaee7-hol   latest              a068decaf892        4 months ago        619.7 MB

    И контейнеры:

    1
    2
    3
    Aruns-iMac:~ arungupta$ docker ps
    CONTAINER ID        IMAGE                          COMMAND                CREATED             STATUS              PORTS                              NAMES
    255a4d5b6f51        arungupta/javaee7-hol:latest   "/opt/jboss/wildfly/   2 seconds ago       Up 1 seconds        0.0.0.0:8080->8080/tcp, 9990/tcp   sick_elion

Наслаждайтесь!

Ссылка: Выпущен Docker 1.6 — Docker Machine 0.2.0 от нашего партнера по JCG Аруна Гупта на Miles to go 2.0… блог.