Docker – basic setup

Для встановлення Docker виконайте команду

snap install docker

Для виконання docker-команд потрібні права sudo. Саме тому створимо групу docker і добавимо поточного користувача в цю групу.

sudo groupadd docker
sudo usermod -aG docker $USER

Після даної операції вийдіть з вашого облікового запису і ввійдіть повторно. Командам docker більше не потрібна команда sudo.

Тепер розглянемо основні команди Docker:

Отримати образ “ubuntu” з центрального репозиторія:

docker pull ubuntu

Переглянути список всіх завантажених образів:

docker images

Щоб запустити завантажений образ потрібно виконати запуск віртуальної машини (контейнера) командою:

docker run -it ubuntu

Ключ -i означає інтерактивний; -t – термінал; -d – запуск в фоновому режимі

Також можна запустити певну команду з образа, наприклад переглянемо список каталогів в нашій віртуальній ubuntu. Як тільки команда закінчить свою роботу, запущений контейнер припинить свою роботу.

docker -it ubuntu ls /

Щоб переглянути список запущених контейнерів використовується команда ps, щоб переглянути список всіх контейнерів, команда ps використовується з параметром -a

docker ps
docker ps -a

Для видалення контейнера використовується команда rm після якої вказується ім’я або ID контейнера:

docker rm friendly_allen

Щоб видалити всі контейнери скористаємось командою:

docker rm $(docker ps -aq)

команда в круглих дужках поверне нам список ID всіх контейнерів, цей список передається в команду docker rm.

Аналогічним чином видалаються скачані образи, тільки замість команди rm використовується команда rmi

docker rmi ubuntu
docker rmi $(docker images -q)

Гарячі клавіші:
Ctrl+C – завершити процес
Ctrl+P -> Ctrl+Q – вийти без завершення процесу

Для того щоб, перекинути порти з реальної машини на docker контейнер використовується префікс -p <зовнішній порт>:<втутрішній порт>

Щоб дати доступ docker контейнеру до каталогу на реальній машині, використовується префікс -v <зовнішній каталог>:<внутрішній каталог в контейнері>

docker run -d --name postgress -p 5432:5432 postgress
docker run -d --name alpine -v /home/user/www:/home/virtual/www alpine