В этом руководстве мы изучим 17 самых важных команд Docker, которые мы обычно используем в среде Docker.
Это основные команды Docker, необходимые для начала работы с контейнерами и образами Docker.
Найти версию Docker
Давайте проверим версию Docker, установленную на машине.
docker -v
Вывод:
Docker version 19.03.1, build 74b1e89
docker version
Вывод:
Client: Docker Engine - Community Version: 19.03.1 API version: 1.40 Go version: go1.12.5 Git commit: 74b1e89 Built: Thu Jul 25 21:21:07 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.1 API version: 1.40 (minimum version 1.12) Go version: go1.12.5 Git commit: 74b1e89 Built: Thu Jul 25 21:19:36 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.6 GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb runc: Version: 1.0.0-rc8 GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f docker-init: Version: 0.18.0 GitCommit: fec3683
Команда info выводит информацию о количестве контейнеров и образов вместе с информацией об операционной системе, версии ядра, процессоре, памяти и имени хоста.
docker info
Вывод:
Client: Debug Mode: false Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 19.03.1 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f init version: fec3683 Security Options: seccomp Profile: default Kernel Version: 3.10.0-957.21.3.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 1.655GiB Name: centos ID: RZCG:TOSQ:RL7B:A7FF:ASDB:47GR:KN24:BRKF:KYHZ:5WVV:UTOZ:CDSX Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false
Контейнеры Docker
Создать Docker контейнер
docker run -dit --name docker-fedora --hostname="fedora" fedora /bin/bash
- -d: запустить контейнер в фоновом режиме и вывестиь идентификатор контейнера
- -i: запустить контейнер в интерактивном режиме
- -t: выделяет терминал tty, который требуется для подключения к контейнеру
- –Name: имя контейнера
- –Hostname: установить хост для контейнера
Unable to find image 'fedora:latest' locally latest: Pulling from library/fedora fd2e8b5b2254: Pull complete Digest: sha256:d39a02a0f13c1df3bbcb0ccea4021c53b8e0bfd87f701a5115e18ec089814e70 Status: Downloaded newer image for fedora:latest 8bba0f0ffe3a4553212da5c1bbdca0fac35a210c780f92d0df15fba0feec0a60
Список Docker Контейнеров
Проверьте работающие контейнеры, используя приведенную ниже команду.
docker ps
docker container list
Вывод:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8bba0f0ffe3a fedora "/bin/bash" About a minute ago Up About a minute
Опция -a покажет все контейнеры, включая остановленные.
Доступ к Docker контейнерам
docker attach docker-fedora
docker container attach docker-fedora
Вывод:
[root@centos ~]# docker attach docker-fedora [root@fedora /]# df -hT Filesystem Type Size Used Avail Use% Mounted on overlay overlay 10G 2.6G 7.5G 26% / tmpfs tmpfs 64M 0 64M 0% /dev tmpfs tmpfs 848M 0 848M 0% /sys/fs/cgroup shm tmpfs 64M 0 64M 0% /dev/shm /dev/sda1 xfs 10G 2.6G 7.5G 26% /etc/hosts tmpfs tmpfs 848M 0 848M 0% /proc/acpi tmpfs tmpfs 848M 0 848M 0% /proc/scsi tmpfs tmpfs 848M 0 848M 0% /sys/firmware
Чтобы выйти из оболочки контейнера Docker, чтобы отсоединиться от контейнера, не останавливая его, нажмите CTRL + p, а затем CTRL + q.
Проверьте запущенный процесс в контейнере
Команда top показывает запущенный процесс и его детали.
docker top docker-fedora
или
docker container top docker-fedora
или
PPID C STIME TTY TIME CMD root 3724 3708 0 07:51 pts/0 00:00:00 /bin/bash
Проверка статистики контейнера Docker
Команда stats выполняет прямую трансляцию статистики использования ресурсов контейнера.
Статистика будет похожа на команду top Linux.
docker stats docker-fedora
или
docker container stats docker-fedora
Вывод:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 8bba0f0ffe3a docker-fedora 0.00% 620KiB / 1.655GiB 0.04% 656B / 0B 0B / 0B 1
Скопируйте файл / папку из Docker контейнера
Команда cp позволит вам копировать файлы / папки из контейнеров в хост-систему.
Следующая команда скопирует файл /root/tobecopied в /root хост-машины.
docker cp docker-fedora:/root/tobecopied /root/
или
docker container cp docker-fedora:/root/tobecopied /root/
Убить контейнер Docker
Команда kill отправляет сигнал SIGTERM для уничтожения работающего контейнера.
docker kill docker-fedora
или
docker container kill docker-fedora
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8bba0f0ffe3a fedora "/bin/bash" 11 minutes ago Exited (137) 5 seconds ago
Запустить Docker Контейнер
Команда start позволяет запустить остановленный контейнер.
docker start docker-fedora
или
docker container start docker-fedora
Перезапуск Docker контейнера
Команда restart позволяет перезапустить контейнер.
docker restart docker-fedora
или
docker container restart docker-fedora
Остановит Docker контейнер
Команда stop поможет вам остановить контейнер:
docker stop docker-fedora
или
docker container stop docker-fedora
Переименовать Docker контейнер
Команда rename предоставляет возможность изменить имя контейнера, например из docker-fedora в MyFedora.
docker rename docker-fedora MyFedora
или
docker container rename docker-fedora MyFedora
Удалить Docker Контейнер
Команда rm поможет вам удалить контейнер.
Если контейнер работает, используйте -f, чтобы принудительно удалить его.
docker rm MyFedora
или
docker container rm MyFedora
Образы Docker
Поиск образов Docker
docker search wordpress
NAME DESCRIPTION STARS OFFICIAL AUTOMATED wordpress The WordPress rich content management system… 3066 [OK] bitnami/wordpress Bitnami Docker Image for WordPress 115 [OK] tutum/wordpress Out-of-the-box WordPress docker image 35 appcontainers/wordpress Centos/Debian Based Customizable WordPress C… 34 [OK] aveltens/wordpress-backup Easily backup and restore your WordPress blo… 16 [OK] centurylink/wordpress WordPress image with MySQL removed. 14 [OK] arm32v7/wordpress The WordPress rich content management system… 10 appsvcorg/wordpress-alpine-php This is a WordPress Docker image which can … 7 dalareo/wordpress-ldap WordPress images with LDAP support automatic… 6 [OK] bitnami/wordpress-nginx Bitnami Docker Image for WordPress with NGINX 6 [OK] wodby/wordpress-php PHP for WordPress 4 [OK]
Скачать образ Docker
docker pull wordpress
или
docker image pull bitnami/wordpress
Список образов Docker
Отобразить список доступных образов Docker в системе:
docker images
или
docker image list
Вывод:
REPOSITORY TAG IMAGE ID CREATED SIZE bitnami/wordpress latest da1f627a8dfd 2 days ago 417MB wordpress latest 02126202b6ea 6 days ago 502MB fedora latest ef49352c9c21 10 days ago 246MB centos latest 9f38484d220f 5 months ago 202MB fedora 29 d09302f77cfc 5 months ago 275MB
Удалить образ Docker
Вы можете удалить образы с помощью команды rmi или rm
docker rmi wordpress
или
docker image rm wordpress
Вывод:
Untagged: wordpress:latest Untagged: wordpress@sha256:fdecb6fc92b04d88419544722ac1679158c12eb8f519b83b0480a6375e823dec Deleted: sha256:02126202b6ea3d070a0d2e9ded8ea7cc94073525fba5839204fed4f6de62a527 Deleted: sha256:006265425edfa4451bb0b69607ca56bf05576c5ee7dbfd5abe4382ab67175537 Deleted: sha256:fba7a866c3b6a68aacb937015533cc65fa563988e9b58258ff82c48554cfc609 Deleted: sha256:a8222cc6dc755223abf4af699ae1090020858fcaffd431b32a116c9c1cc0609d Deleted: sha256:a310023bf66eb8e4118deafdf12c800a98d9a77932906d141839bad1963dd96b Deleted: sha256:87b8b6fb7a45af0d8c4aec69d808a8d43c0e177e89284289f6a02da4aaa617a7 Deleted: sha256:119f74a6f3f65b1a989e6015579e6ada9916ac20128699bc63c20cf71b5fd8db Deleted: sha256:8976d948286158c42b155e2ba9a9039a23005db8b67ca5471abaac20d54b7dd4