Docker — это платформа для разработки, сборки, доставки и запуска приложений в т.н. "контейнерах". Благодаря Docker вы можете сделать ваши приложения независимыми от инфраструктуры и обеспечить их быстрое и единообразное развертывание.
На данный момент Docker предлагает весь перечень инструментов для сборки собственных образов приложений и запуска их в контейнерной среде.
Docker от Бегета — это готовый к работе дистрибутив с установленным ПО Docker и Docker Compose: собирайте, тестируйте и деплойте свои приложения сразу после создания виртуального сервера, используя контейнеры.
Состав приложения
- Ubuntu 22.04
- Docker CE, последняя версия
- Docker Сompose, последняя версия
Информация по установке и использованию Docker
При создании сервера не требуется указывать никаких дополнительных параметров. После создания виртуального сервера потребуется 1-3 минуты на то, чтобы развернуть на нем последнюю версию Docker. Статус установки будет отображаться в панели управления. После завершения установки Docker вы получите уведомление.
Использование Docker
Для проверки корректности развертывания платформы Docker рекомендуется выполнить следующие действия:
- Подключиться к вашему серверу по SSH по его IP-адресу, используя в качестве логина
root
. Для пользователей Windows может потребоваться установка SSH-клиента (например, Putty). - Для проверки корректности установки Docker можно запустить простой контейнер с помощью команды
docker run hello-world
и убедиться, что скачивание и запуск образов происходит корректно и контейнер запускается без ошибок:
root@docker-host1:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
После успешной установки, Docker можно использовать без ограничений. Желаем удачной работы!
Частые вопросы по Docker
Для того чтобы "зайти" в работающий контейнер или выполнить в его окружении требуемую команду, используйте docker exec
:
- Найдите ID или имя требуемого контейнера с помощью команды
docker ps
:
root@docker-host1:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc0e883605c3 ubuntu:latest "/bin/sleep 1000" 2 minutes ago Up 2 minutes lucid_bouman
- Для выполнения произвольной команды в контейнере воспользуйтесь командой вида
docker exec <container id|name> <command>
:
root@docker-host1:~# docker exec fc0e883605c3 ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2788 1056 ? Ss 12:37 0:00 /bin/sleep 1000
root 32 0.0 0.0 7060 1588 ? Rs 12:41 0:00 ps aux
где fc0e883605c3
- ID контейнера, ps aux
- требуемая команда
- Для выполнения интерактивных команд (например, запуска оболочки bash в окружении контейнера), воспользуйтесь командой вида
docker exec -it <container id|name> <command>
:
root@docker-host1:~# docker exec -it fc0e883605c3 bash
root@fc0e883605c3:/# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2788 1056 ? Ss 12:37 0:00 /bin/sleep 1000
root 38 0.0 0.1 4628 3864 pts/0 Ss 12:43 0:00 bash
root 47 0.0 0.0 7060 1600 pts/0 R+ 12:43 0:00 ps aux
bash
, а содержит лишь оболочку sh
.Для перезапуска контейнера используйте docker restart
:
- Найдите ID или имя требуемого контейнера с помощью команды
docker ps
:
root@docker-host1:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc0e883605c3 ubuntu:latest "/bin/sleep 1000" 2 minutes ago Up 2 minutes lucid_bouman
- Для перезапуска требуемого контейнера воспользуйтесь командой вида
docker restart <container id|name>
:
root@docker-host1:~# docker restart fc0e883605c3
fc0e883605c3
Для удаления всех остановленных контейнеров воспользуйтесь командой docker container prune
:
root@docker-host1:~# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
8618a56f1accf627945ce95c4dae94ad15cb369cfaba9f0867aaccf7b7b8d2ae
55cfa3754b062c9055d5a97bf0de2c13eecc77d74c5846bb066ab24512cb72c5
fc0e883605c38d811cae890b244e2f6776b507e00e02fe802e53c82ec29fe876
86ce4a4f6cbe2be88c31163babde317d99de8fb536ae77d62a7254fc1ad2d3d1
Total reclaimed space: 10M
docker volume prune