Docker: различия между версиями
Misha (обсуждение | вклад) Нет описания правки |
Misha (обсуждение | вклад) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 7: | Строка 7: | ||
#Проверка корректности установки<br>Для этого устанавливаем тестовый контейнер<pre>$sudo docker run hello-world</pre>После следующей команды будет скачан образ контейнера, если его нет в локальном репозитории и запуск контейнера. При этом мы окажемся в его консоли<pre>docker run -it ubuntu bash</pre>После этого можем установить в контейнер, например mc<pre>apt update && apt install mc</pre>Можем запустить mc.<br>Для выхода из консоли вводим exit. | #Проверка корректности установки<br>Для этого устанавливаем тестовый контейнер<pre>$sudo docker run hello-world</pre>После следующей команды будет скачан образ контейнера, если его нет в локальном репозитории и запуск контейнера. При этом мы окажемся в его консоли<pre>docker run -it ubuntu bash</pre>После этого можем установить в контейнер, например mc<pre>apt update && apt install mc</pre>Можем запустить mc.<br>Для выхода из консоли вводим exit. | ||
==Установка Docker-compose== | ==Установка Docker-compose== | ||
Взято [https://docs.docker.com/compose/install/ тут]. Лучше все делать как там написано, тк там самая свежая информация<br> | |||
1. Выполняем команду | |||
<pre>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 | |||
</pre> | |||
2. Проверка инсталяции | |||
<pre>$ docker-compose --version | |||
docker-compose version 1.25.3, build d4d1b42b</pre> | |||
==Основные команды для работы с Docker контейнерами== | |||
Запуск docker контейнера ubuntu итерактивно (-it) и после запуска Вы попадаете в его консоль (bash). | |||
<pre>$ docker run -h myhost --name name_cont -p 3308:3306 -it ubuntu bash</pre> | |||
-it - итерактивно<br> | |||
-h -имя носта контейнера после запуска<br> | |||
bash -после запуска Вы попадаете в его консоль<br> | |||
--name - имя контейнера, по которому к нему можно будет обращаться<br> | |||
-p 3308:3306 - проброс портов из контейнера: 3308 - порт на хостовой машине, 3306 - порт контейнера . | |||
Вход в работающий контейнер | |||
<pre>docker exec -it name bash</pre> | |||
Выход из контейнера. | |||
<pre>root@24e73fa3a6df:/# exit</pre> | |||
Вывод работающих контейнеров | |||
<pre>$ docker ps</pre> | |||
Вывод всех запускавшихся на компьютере контейнеров | |||
<pre>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 | |||
</pre> | |||
Запуск не запущенного контейнера по CONTAINER ID или по NAMES | |||
<pre>$ docker start 24e73fa3a6df</pre>или <pre>$ docker start sad_swartz</pre> | |||
Остановка работающего контейнера. Как и в предыдущем примере по CONTAINER ID или по NAMES | |||
<pre>$ docker stop 24e73fa3a6df</pre> | |||
Получение информации о работающем контейнере по CONTAINER ID или по NAMES | |||
<pre>$ docker inspect name_cont</pre> | |||
Посмотреть список файлов, измененных в работающем контейнере по CONTAINER ID или по NAMES | |||
<pre>docker diff name_cont</pre> | |||
Вывод логов работающего контейнера | |||
<pre>$ docker logs name_cont</pre> | |||
Удаление контейнера из списка | |||
<pre>$ docker rm name_cont</pre> | |||
Вывод идентификаторов всех остановленных контейнеров | |||
<pre>$ docker ps -aq -f status=exited</pre> | |||
Используя предыдущую команду можно удалить все не работающие контейнеры | |||
<pre>docker rm -v $(docker ps -aq -f status=exited)</pre> | |||
Список образов, которые хранятся локально | |||
<pre>$ 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</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