Docker: различия между версиями
Misha (обсуждение | вклад) |
Misha (обсуждение | вклад) (→Основные команды для работы с Docker контейнерами) |
||
(не показано 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