Docker: различия между версиями
Misha (обсуждение | вклад) (→Основные команды для работы с Docker контейнерами) |
Misha (обсуждение | вклад) (→Основные команды для работы с Docker контейнерами) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 24: | Строка 24: | ||
--name - имя контейнера, по которому к нему можно будет обращаться<br> | --name - имя контейнера, по которому к нему можно будет обращаться<br> | ||
-p 3308:3306 - проброс портов из контейнера: 3308 - порт на хостовой машине, 3306 - порт контейнера . | -p 3308:3306 - проброс портов из контейнера: 3308 - порт на хостовой машине, 3306 - порт контейнера . | ||
+ | |||
+ | Вход в работающий контейнер | ||
+ | <pre>docker exec -it name bash</pre> | ||
Выход из контейнера. | Выход из контейнера. | ||
Строка 43: | Строка 46: | ||
Посмотреть список файлов, измененных в работающем контейнере по CONTAINER ID или по NAMES | Посмотреть список файлов, измененных в работающем контейнере по CONTAINER ID или по NAMES | ||
<pre>docker diff name_cont</pre> | <pre>docker diff name_cont</pre> | ||
− | |||
− | |||
Вывод логов работающего контейнера | Вывод логов работающего контейнера | ||
<pre>$ docker logs name_cont</pre> | <pre>$ docker logs name_cont</pre> | ||
Строка 52: | Строка 53: | ||
<pre>$ docker ps -aq -f status=exited</pre> | <pre>$ docker ps -aq -f status=exited</pre> | ||
Используя предыдущую команду можно удалить все не работающие контейнеры | Используя предыдущую команду можно удалить все не работающие контейнеры | ||
− | <pre>docker rm -v $(docker ps -aq -f status=exited)<pre> | + | <pre>docker rm -v $(docker ps -aq -f status=exited)</pre> |
Список образов, которые хранятся локально | Список образов, которые хранятся локально | ||
<pre>$ docker images | <pre>$ docker images | ||
Строка 60: | Строка 61: | ||
ubuntu latest ccc6e87d482b 3 weeks ago 64.2MB | ubuntu latest ccc6e87d482b 3 weeks ago 64.2MB | ||
hello-world latest fce289e99eb9 13 months ago 1.84kB</pre> | hello-world latest fce289e99eb9 13 months ago 1.84kB</pre> | ||
+ | Удалить образ. | ||
+ | <pre>$ docker rmi name_image</pre> |
Текущая версия на 17:49, 14 марта 2020
Установка Docker на UBUNTU 20.04
Взято тут
- Установка пакета
$sudo apt install docker.io
- Запуск docker и добавление в автозапуск ОС
$ sudo systemctl enable --now docker
- Включение пользователя в группу работы с docker
$ sudo usermod -aG docker SOMEUSERNAME
- Проверка версии
$ docker --version
- Проверка корректности установки
Для этого устанавливаем тестовый контейнер$sudo docker run hello-world
После следующей команды будет скачан образ контейнера, если его нет в локальном репозитории и запуск контейнера. При этом мы окажемся в его консолиdocker run -it ubuntu bash
После этого можем установить в контейнер, например mcapt 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