- Автор темы
- Администратор
- Модер.
- Команда форума
- #1
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.
Установку Docker мы будем производить на базе серверной операционной системы Ubuntu 20.04
Следующим шагом будем установка необходимых пакетов для корректной работы docker
Добавляем ключ GPG официального репозитория Docker:
Подключаем репозиторий Docker
После добавления нового репозитория обязательно обновим базу пакетов, иначе при выполнении команды установки система не будет знать что этот пакет доступен
Приступим к установке Docker
После установки Docker проверим, запущен ли демон
После выполнения команды вы должны получить примерно следующее
На этом установка Docker завершена.
Загрузим тестовый контейнер hello-world
После выполнения команды начнется загрузка образа и его установка
Для поиска образов в Docker Hub используется команда search и ключевое слово поиска. К примеру вывод всех контйенеров в которых упоминается web
Для того чтобы загрузить нужный контейнер достаточно выполнить pull и указать имя контейнера
После загрузки контейнера его нужно будет запустить командой run
Еще одна команда которая может вам пригодится — просмотр загруженных образов.
Она выводит все образы которые были загружены на сервер
В качестве простого примера работы с контейнерами, я покажу вам как запустить ubuntu в контейнере под ubuntu, подключиться к контейнеру и установить программу в контейнере.
Устанавливаем контайнер с ubuntu
Запускаем контенер с ubuntu и подключаемся к нему в командную строку
После подключения в контейнер вы увидите приглашение следующего вида
Теперь мы находимся в контейнере и можем устанавливать все что нам может потребоваться. Давайте установим консольный файловый менеджер mc, но перед установкой обязательно обновим список пакетов
Для того чтобы выйти из контейнера достаточно выполнить команду exit
Вывод будет следующий
Данная команда выведет примерно следующий текст
Список последних созданных контейнеров
Запуск контейнера производится командой start + ID контейнера либо имя контейнера . Для примера запустим контейнер с
Теперь командой docker ps проверим статус контейнера
Для остановки контейнера выполним команду docker stop + ID либо имя контейнера
Для удаления контейнера используется команда docker rm + ID либо имя контейнера
Теперь вы умеет устанавливать Docker , скачивать, создавать, удалять и изменять контейнеры. И самое главное, в этом нет ничего сложного.
Установку Docker мы будем производить на базе серверной операционной системы Ubuntu 20.04
Установка
Перед началом установки обновим базу пакеты
Код:
sudo apt update
Код:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Код:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Код:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Код:
sudo apt update
Код:
sudo apt install docker-ce
Код:
sudo systemctl status docker
Код:
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset>
Active: active (running) since Fri 2020-07-10 09:11:13 UTC; 31s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 55695 (dockerd)
Tasks: 9
Memory: 37.1M
CGroup: /system.slice/docker.service
└─55695 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con>
Запуск первого Docker контейнера
Образы контейнеров Docker загружаются с Docker HubЗагрузим тестовый контейнер hello-world
Код:
docker run hello-world
Код:
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
The Docker client contacted the Docker daemon.
The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Код:
docker search web
Вы получите следующий список
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
php While designed for web development, the PHP … 5354 [OK]
django Django is a free web application framework, … 976 [OK]
redmine Redmine is a flexible project management web… 896 [OK]
drupal Drupal is an open source content management … 779 [OK]
mongo-express Web-based MongoDB admin interface, written w… 725 [OK]
jetty Jetty provides a Web server and javax.servle… 338 [OK]
Для того чтобы загрузить нужный контейнер достаточно выполнить pull и указать имя контейнера
Код:
docker pull php
Код:
docker run php
Код:
docker images
Код:
REPOSITORY TAG IMAGE ID CREATED SIZE
php latest da48a8a02f6e 11 hours ago 405MB
hello-world latest bf756fb1ae65 6 months ago 13.3kB
Устанавливаем контайнер с ubuntu
Код:
docker pull ubuntu
Код:
docker run -it ubuntu
Код:
root@997d1ad717ec:/#
Код:
apt-get update
Код:
apt-get install mc
Код:
exit
Управление контейнерами
Просмотр списка активных контейнеров
Код:
docker ps
Код:
CONTAINER ID IMAGE COMMAND CREATED
Просмотр контейнеров системы
docker ps -a
Код:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
997d1ad717ec ubuntu "/bin/bash" About an hour ago Exited (1) About a minute ago interesting_lamarr
3f2b8dd64649 php "docker-php-entrypoi…" About an hour ago Exited (0) About an hour ago zealous_ritchie
2ac5f9e2f820 hello-world "/hello" 2 hours ago Exited (0) 2 hours ago hopeful_kilby
Код:
docker ps -l
Код:
ubuntu его ID 997d1ad717ec , а имя interesting_lamarr
Код:
docker start 997d1ad717ec
Код:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
997d1ad717ec ubuntu "/bin/bash" About an hour ago Up 39 seconds interesting_lamarr
Код:
docker stop interesting_lamarr
Код:
docker rm interesting_lamarr
Теперь вы умеет устанавливать Docker , скачивать, создавать, удалять и изменять контейнеры. И самое главное, в этом нет ничего сложного.