`version`:
$ docker version --help
Usage: docker version [OPTIONS]
Show the Docker version information
-f, --format Format the output using the given go template
--help Print usage
Це коротка довідкова інформація про те, як саме можна скористатися
докер-командою `version`, які параметри вона може прийняти. Як бачимо,
цій команді можна передати два параметри (OPTIONS), які є не
обов'язковими (тому що в квадратних дужках): `-f` та
`--help`. Останній ми щойно спробували, а параметр `-f` можливо
розглянемо іншим разом. Оскільки ці параметри є не обов'язковими,
докер-команду `version` можна запустити наступним чином:
$ docker version
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.6
Git commit: 20f81dd
Built:
OS/Arch: linux/amd64
Server:
Version: 1.10.3
API version: 1.22
Go version: go1.6
Git commit: 20f81dd
Built:
OS/Arch: linux/amd64
Отримали інформацію про клієнт та сервер: версії програм, версії API,
встановлені версії мови програмування go (за допомогою якого створений
docker) тощо.
Docker побудований на основі архітектури клієнт-сервер. Для того, щоби
скористатися докером, нам потрібен клієнт, а клієнту необхідний
сервер.
Запускаючи будь-яку команду (наприклад `docker version`), ми тим самим
запускаємо клієнт (docker). Він, у свою чергу, під'єднується до
сервера, та передає йому поточну команду. Задача клієнта – отримати
від користувача команду та передати її серверу, а пізніше – отримати
відповідь від сервера та повернути її користувачу. Задача сервера –
виконати отриману від клієнта команду, та повернути результат її
виконання.
Спробуйте зупинити сервер (демон) докера. На Ubuntu, для прикладу, це
можна зробити наступним чином:
$ sudo service docker stop
Якщо докер-сервер зупинений, то отримаємо наступний результат:
$ docker version
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.6
Git commit: 20f81dd
Built:
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Клієнт повернув усю відому про себе інформацію, а також спробував
приєднатися до сервера та виконати команду `version`, але приєднатися
до сервера не вдалося (про що і йдеться в останній стрічці виводу).
Запустіть сервер знову і виконайте команду `ps aux | grep docker`:
$ ps aux | grep docker
root 18016 10.0 0.4 329016 32376 ? Ssl 17:43 0:00 /usr/bin/docker daemon -p /run/docker.pid
Отримали інформацію про запущений процес докер-сервера. Цікавим є те,
що клієнт та сервер використовують одну і ту саму програму:
`/usr/bin/docker`. В залежності від параметрів які передаються цій
програмці, вона поводиться або як клієнт, або як сервер. При передачі
параметра `daemon`, докер буде поводитись як сервер (демон).
Мабудь відразу варто зауважити, що щоби скористатися докер-сервером,
не обов'язково знаходитися на одному і тому самому комп'ютері. Ним,
завдяки клієнт-серверній архітектурі, можна скористатися і віддалено,
з іншого комп'ютера:
$ docker --host=tcp://example.com:/var/run/docker.sock
Client:
Version: 1.11.0
API version: 1.23
Go version: go1.6
Git commit: 4dc5990
Built:
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Звісно, сервер повинен бути відповідно налаштований, щоб мати
можливість співпрацювати з нашим клієнтом. В інакшому випадку
отримаємо таку ж помилку, яку щойно отримали.
Немає коментарів:
Дописати коментар