Docker

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску

Установка Docker на UBUNTU 20.04

Взято тут

  1. Установка пакета
    $sudo apt install docker.io
  2. Запуск docker и добавление в автозапуск ОС
    $ sudo systemctl enable --now docker
  3. Включение пользователя в группу работы с docker
    $ sudo usermod -aG docker SOMEUSERNAME
  4. Проверка версии
    $ docker --version
  5. Проверка корректности установки
    Для этого устанавливаем тестовый контейнер
    $sudo docker run hello-world
    После следующей команды будет скачан образ контейнера, если его нет в локальном репозитории и запуск контейнера. При этом мы окажемся в его консоли
    docker run -it ubuntu bash
    После этого можем установить в контейнер, например mc
    apt update && apt install mc
    Можем запустить mc.
    Для выхода из консоли вводим exit.

Установка Docker-compose

Взято тут. Лучше все делать как там написано, тк там самая свежая информация
1. Выполняем команду

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

2. Проверка инсталяции

$ docker-compose --version
docker-compose version 1.25.3, build d4d1b42b

Основные команды для работы с Docker контейнерами

Запуск docker контейнера ubuntu итерактивно (-it) и после запуска Вы попадаете в его консоль (bash).

$ docker run -h myhost --name name_cont -p 3308:3306 -it ubuntu bash

-it - итерактивно
-h -имя носта контейнера после запуска
bash -после запуска Вы попадаете в его консоль
--name - имя контейнера, по которому к нему можно будет обращаться
-p 3308:3306 - проброс портов из контейнера: 3308 - порт на хостовой машине, 3306 - порт контейнера .

Вход в работающий контейнер

docker exec -it name bash

Выход из контейнера.

root@24e73fa3a6df:/# exit

Вывод работающих контейнеров

$ docker ps

Вывод всех запускавшихся на компьютере контейнеров

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
24e73fa3a6df        ubuntu              "bash"              3 minutes ago       Exited (0) 30 seconds ago                       sad_swartz
4dac50c0d2c1        hello-world         "/hello"            33 minutes ago      Exited (0) 33 minutes ago                       dazzling_payne

Запуск не запущенного контейнера по CONTAINER ID или по NAMES

$ docker start 24e73fa3a6df

или

$ docker start  sad_swartz

Остановка работающего контейнера. Как и в предыдущем примере по CONTAINER ID или по NAMES

$ docker stop 24e73fa3a6df

Получение информации о работающем контейнере по CONTAINER ID или по NAMES

$ docker inspect name_cont

Посмотреть список файлов, измененных в работающем контейнере по CONTAINER ID или по NAMES

docker diff name_cont

Вывод логов работающего контейнера

$ docker logs name_cont

Удаление контейнера из списка

$ docker rm name_cont

Вывод идентификаторов всех остановленных контейнеров

$ docker ps -aq -f status=exited

Используя предыдущую команду можно удалить все не работающие контейнеры

docker rm -v $(docker ps -aq -f status=exited)

Список образов, которые хранятся локально

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
bitnami/apache      latest              7ea2ee227a0b        16 hours ago        123MB
mysql               latest              791b6e40940c        7 days ago          465MB
ubuntu              latest              ccc6e87d482b        3 weeks ago         64.2MB
hello-world         latest              fce289e99eb9        13 months ago       1.84kB

Удалить образ.

$ docker rmi name_image