- Устанавливаем Docker в Ubuntu
# apt-get update && apt-get -y upgrade && apt-get autoremove # apt install -y apt-transport-https ca-certificates curl software-properties-common # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" # apt install -y docker-ce
Проверяем:# systemctl status docker
Добавляем себя (username0 в группу docker:$ sudo usermod -aG docker username
- Образы (Images)
Образ - это статический билд на основе определенной операционной системы. Существует официальный репозиторий образов docker, поэтому, прежде чем создавать свой образ, проверьте там.
Команды:
- вывести список локальных образов:# docker images
- удалить локальный образ:# docker image rm IMAGENAME
- Делаем свой образ на основе образа Ubuntu 16.04.
В отдельной директории создаем файл Dockerfile:FROM ubuntu:16.04 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y apt-utils && apt-get upgrade -y && apt-get install -y supervisor libmojolicious-perl libdbi-perl libdbd-mysql-perl ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf ADD test_dir /test_dir/ CMD ["/usr/bin/supervisord"]
- FROM... : название исходного образа;
- ENV DEBIAN_FRONTEND... : строка чисто для Ubuntu, чтобы не орало что запущена не в интерактиве;
- RUN... : команды, которые нужно выполнить после запуска, записаны в одну строку, чтобы не плодились файлы транзакций;
- ADD supervisord.conf... : копируем в образ файл supervisord.conf, о нем ниже;
- ADD test_dir /test_dir/ : копируем в образ содержимое локальной директории test_dir. Директория будет создана в корне образа;
- CMD... : все, что записано тут, будет выполняться при запуске контейнера на основе этого образа;
supervisord - это сервис в Ubuntu, который предназначен для запуска программ с определенными параметрами и отслеживания их состояния. Пример файла supervisord.conf:[supervisord] nodaemon=true loglevel=debug [program:test] directory=/test_dir command=/usr/bin/perl test.pl
Создаем образ с названием test-perl:# docker build -t test-perl ./
Забегая вперед, запускаем самоудаляемый контейнер с именем run-test-perl на основе нашего образа test-perl:# docker run --rm --name run-test-perl test-perl
- Контейнеры (Containers)
Контейнер - это запущенный инстанс образа.
Команды:
- список контейнеров:# docker ps -a
- посмотреть информацию о контейнере:# docker inspect CONTAINER_NAME
- остановить контейнер:# docker stop CONTAINER_NAME
- удалить контейнер:# docker container rm CONTAINER_NAME
- удалить все контейнеры:# docker rm $(docker ps -aq)
Статья опубликована: 2017-07-01 15:48:06
Последние правки: 2022-04-06 21:03:35
Docker для новичков. Первый образ. Первый контейнер. Ubuntu.