Статьи

Docker 1.9 — Виртуальные сети, постоянное хранилище, готовый к использованию Swarm

Выпущен Docker 1.9, для получения более подробной информации ознакомьтесь с объявлением Docker 1.9 . Этот выпуск содержит:

  • Docker 1.9.0 Бинарный клиент
  • Docker Machine 0.5.0
  • Docker Compose 0.5.0
  • Docker Toolbox 1.9.0
  • Docker Swarm 1.0.0

Некоторые из ключевых особенностей:

  • Создание виртуальных сетей, которые охватывают несколько хостов и поддерживаются несколькими плагинами, такими как Calico, Weave, Cisco и др. ( Полная информация )
  • Поддержка постоянного хранилища с использованием новой системы управления томами и поддерживаемых Flocker или Ceph ( полная информация )
  • Docker Swarm 1.0.0 и готов к производству, протестирован с 1000 узлов и 30 000 контейнеров ( полный список , Announcing Swarm 1.0 )
  • Код Docker Machine разбит на основной клиент Docker Machine и несколько двоичных файлов, по одному для каждого драйвера ( полный список )
  • Docker Compose теперь работает в Windows, переменные среды поддерживаются в файле docker-compose.yml ( полный список )

Начало работы с Docker

Если вы никогда не устанавливали Docker на свой компьютер, то Docker Toolbox 1.9.0 установит все необходимое для начала работы с Docker на Mac OS X и Windows. В него даже входит Virtual Box 5.0.8.

докер-набор инструментов-логотип

Загрузите Docker Toolbox 1.9.0 для Mac или Windows .

Конечно, вы можете apt-get install docker-engine в Ubuntu или yum install docker-engine в CentOS.

Если вам нравится обновлять двоичные файлы самостоятельно или научиться использовать их для начала, читайте дальше!

Установите Docker 1.9.0 CLI Binary

Загрузите последний бинарный файл Docker CLI:

1
2
3
4
5
6
> curl -L https://get.docker.com/builds/Darwin/x86_64/docker-1.9.0 > /usr/local/bin/docker
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9010k  100 9010k    0     0   211k      0  0:00:42  0:00:42 --:--:--  213k
> docker -v
Docker version 1.9.0, build 76d6bc9

Установите Docker Machine 0.5.0

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

докер-машина-логотип

Загрузите последний бинарный файл Docker Machine:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
~ > curl -L https://github.com/docker/machine/releases/download/v0.5.0/docker-machine_darwin-amd64.zip >machine.zip && \
>   unzip machine.zip && \
>   rm machine.zip && \
>   mv -f docker-machine* /usr/local/bin
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   608    0   608    0     0    777      0 --:--:-- --:--:-- --:--:--   778
100 38.9M  100 38.9M    0     0   208k      0  0:03:11  0:03:11 --:--:--  118k
Archive:  machine.zip
  inflating: docker-machine         
  inflating: docker-machine-driver-amazonec2 
  inflating: docker-machine-driver-azure 
  inflating: docker-machine-driver-digitalocean 
  inflating: docker-machine-driver-exoscale 
  inflating: docker-machine-driver-generic 
  inflating: docker-machine-driver-google 
  inflating: docker-machine-driver-hyperv 
  inflating: docker-machine-driver-none 
  inflating: docker-machine-driver-openstack 
  inflating: docker-machine-driver-rackspace 
  inflating: docker-machine-driver-softlayer 
  inflating: docker-machine-driver-virtualbox 
  inflating: docker-machine-driver-vmwarefusion 
  inflating: docker-machine-driver-vmwarevcloudair 
  inflating: docker-machine-driver-vmwarevsphere

Docker Machine разделена на несколько двоичных файлов — один для основного клиента Docker Machine и двоичный файл для каждого драйвера. Так что установка отличается от предыдущих выпусков.

И создайте новую машину как:

01
02
03
04
05
06
07
08
09
10
11
~ > docker-machine create -d=virtualbox lab
Running pre-create checks...
Creating machine...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Provisioning created instance...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
To see how to connect Docker to this machine, run: docker-machine env lab

Новый компьютер, созданный с использованием этого, не может быть запрошен Docker CLI ( # 2147 ). Явное обновление машины с помощью docker-machine upgrade lab помогло решить проблему.

1
2
3
4
5
6
7
> docker-machine upgrade lab
Stopping machine to do the upgrade...
Upgrading machine lab...
Latest release for github.com/boot2docker/boot2docker is v1.9.0
 
Downloading https://github.com/boot2docker/boot2docker/releases/download/v1.9.0/boot2docker.iso to /Users/arungupta/.docker/machine/cache/boot2docker.iso...
Starting machine back up...

Надеюсь, это всего лишь вопрос времени и не будет происходить в будущем.

Docker Compose 0.5.0

Docker Compose позволяет легко запускать мультиконтейнерные приложения.

1
2
3
4
5
6
7
8
9
> curl -L https://github.com/docker/compose/releases/download/1.5.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   601    0   601    0     0    190      0 --:--:--  0:00:03 --:--:--   190
100 4819k  100 4819k    0     0   123k      0  0:00:39  0:00:39 --:--:--  238k
> chmod +x /usr/local/bin/docker-compose
> docker-compose -v
docker-compose version: 1.5.0

Простой способ проверить это запустить Couchbase Cluster с тремя узлами .

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
couchbase-cluster > docker-compose up -d
Pulling couchbase1 (couchbase/server:latest)...
latest: Pulling from couchbase/server
c0de77b824d9: Pull complete
7f183271ade4: Pull complete
02cc7e934fcc: Pull complete
fd97fd3cdea7: Pull complete
c55759c6a761: Pull complete
2520930519cb: Pull complete
6597f338e656: Pull complete
7b49522b71f2: Pull complete
7789bd549668: Pull complete
63ff6eb12d29: Pull complete
1095332e719c: Pull complete
a64bcb125f74: Pull complete
13fe802e8814: Pull complete
d5c923126f19: Pull complete
39d4343f1a05: Pull complete
13d820fd06ce: Pull complete
Digest: sha256:0e983929897ae9bd396533ff7875f30027290c6acf164a66c967ca8884507381
Status: Downloaded newer image for couchbase/server:latest
Creating couchbasecluster_couchbase1_1
Creating couchbasecluster_couchbase3_1
Creating couchbasecluster_couchbase2_1

И список запущенных контейнеров:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
couchbase-cluster > docker-compose ps
                 Name                                   Command                                   State                                    Ports                 
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
couchbasecluster_couchbase1_1            /entrypoint.sh couchbase-s ...           Up                                       11207/tcp, 11210/tcp, 11211/tcp,      
                                                                                                                           18091/tcp, 18092/tcp, 8091/tcp,       
                                                                                                                           8092/tcp, 8093/tcp                    
couchbasecluster_couchbase2_1            /entrypoint.sh couchbase-s ...           Up                                       11207/tcp, 11210/tcp, 11211/tcp,      
                                                                                                                           18091/tcp, 18092/tcp, 8091/tcp,       
                                                                                                                           8092/tcp, 8093/tcp                    
couchbasecluster_couchbase3_1            /entrypoint.sh couchbase-s ...           Up                                       11207/tcp, 0.0.0.0:11210->11210/tcp,  
                                                                                                                           11211/tcp, 18091/tcp, 18092/tcp,      
                                                                                                                           0.0.0.0:8091->8091/tcp,               
                                                                                                                           0.0.0.0:8092->8092/tcp,               
                                                                                                                           0.0.0.0:8093->8093/tcp

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

В настоящее время Docker Compose требует docker-compose.yml из локальной файловой системы. Для docker-compose было бы полезно использовать эти файлы из URI ( # 2313 ).

Docker Swarm 1.0.0

Docker Swarm предоставляет собственную кластеризацию для Docker. Он преобразует пул Docker Engines в один виртуальный движок. Инструменты, такие как Docker CLI, которые работают с одним движком, продолжают работать Swarm. Таким образом, ваши приложения, которые будут работать на одном Docker Engine, теперь могут легко выполняться на нескольких Docker Engine.

докер-рой

01
02
03
04
05
06
07
08
09
10
11
12
13
> docker pull swarm
Using default tag: latest
latest: Pulling from library/swarm
2bc79aec8ea0: Pull complete
dc2fb86a875a: Pull complete
435e648d0f23: Pull complete
e16042a92d05: Pull complete
045bd7b00b5b: Pull complete
3caea1253d76: Pull complete
2b4c55187a27: Pull complete
6b40fe7724bd: Pull complete
Digest: sha256:1ab748e67f00ee34d0bedcb306caede47c02dad3e0e03455d558448cadb079bc
Status: Downloaded newer image for swarm:latest

Подробнее о кластеризации с помощью Docker Swarm читайте подробнее о том, как настроить кластер.

Загрузите или обновите свои бинарные файлы до Docker 1.9 и используйте самые последние функции

Docker Практическая мастерская и слайды

Практический семинар по Docker будет обновлен для использования Docker 1.9 в ближайшие дни, следите за обновлениями!