Docker 命令
11/26/2023
# Docker 容器命令
# 1. 启动 Docker
要启动一个已经存在的容器,可以使用 start 命令。
docker start [容器名/containerID]
Docker start 命令本质为容器文件系统创建了一个进程隔离空间。
# 2. 停止容器
docker stop [容器名/containerID]
# 3. 运行容器
要创建和运行容器使用 run 命令。
docker run [-d] [容器名/containerID]
该命令会从本地、Docker Hub 中搜索指定的镜像,并下载到本地,创建一个容器并启动该容器。
选项:
- -d:为可选项,表示以后台方式启动。
# 4. 查看所有运行中的容器
列出所有运行中的容器。
docker ps
列出所有的容器,不管是运行的,还是停止的。
docker ps -a
# 5. 重启容器
要重启一个运行中的容器。
docker restart [容器名/containerID]
# 6. 查看容器日志
docker log -f [容器名/containerID]
选项:
- -f:可选,滚动刷新日志信息。
# 7. 进入容器
容器启动后,要进入容器内部。
docker exec -it [容器名/containerID] /bin/[bash | sh]
# 8. 查看 Docker 信息
查看 Docker 版本。
docker version
如:
[root@192 ~]# docker version
Client: Docker Engine - Community
Version: 24.0.2
API version: 1.43
Go version: go1.20.4
Git commit: cb74dfc
Built: Thu May 25 21:55:21 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.2
API version: 1.43 (minimum version 1.12)
Go version: go1.20.4
Git commit: 659604f
Built: Thu May 25 21:54:24 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.25
GitCommit: d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f
runc:
Version: 1.1.10
GitCommit: v1.1.10-0-g18a0cb0
docker-init:
Version: 0.19.0
GitCommit: de40ad0
# 9. 查看 docker 系统的信息
docker info
如:
[root@192 ~]# docker info
Client: Docker Engine - Community
Version: 24.0.2
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.21.0
Path: /usr/libexec/docker/cli-plugins/docker-compose
scan: Docker Scan (Docker Inc.)
Version: v0.23.0
Path: /usr/libexec/docker/cli-plugins/docker-scan
Server:
Containers: 19
Running: 16
Paused: 0
Stopped: 3
Images: 85
Server Version: 24.0.2
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk
... 省略
# Docker 镜像命令
镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。
# 1. 列出所有镜像
docker images
[root@192 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
选项说明:
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签版本号
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
# 2. 获取镜像
拉取 Docker 仓库中该镜像的最新版本。
docker images pull [镜像名[:TAG]]
如果不显示地指定 TAG,则默认会选择 latest 标签,即下载仓库中最新版本的镜像。
# 3. 搜索镜像
docker search [镜像名]
选项:
- --automated=false,仅显示自动创建的镜像
- --on-trunc=false,输出信息不截断显示
- -s, --stars=0,指定仅显示评价为指定星级以上的镜像。
Docker Hub 官方地址:Docker Hub (opens new window)
# 4. 运行镜像
docker run [镜像名]
# 5. 删除镜像
# 删除一个镜像
docker rmi [镜像名/镜像ID]
# 删除多个,镜像ID或镜像名用`空格`隔开即可
docker rmi 镜像名/镜像ID 镜像名/镜像ID
# 删除全部镜像,-a:显示全部,-q:只显示ID
docker rmi -f $(docker images -aq)
参数:
- -f:强制删除
# Docker 运维命令
# 1. 启动 Docker
sudo systemctl start docker
# 重启
sudo systemctl restart docker
# 2. docker 开机自启
sudo systemctl enable docker
# 3. 查看 docker 运行状态
systemctl status docker
# 4. 查看 docker 日志
journalctl -u docker.service
或者
less /var/log/messages | grep Docker
# 5. docker 监控相关
# 查看容器的资源使用率
docker stats container_ID
# 限制 cpu 和内存资源
docker run --cpus=1 -m=2g --name nginx -d nginx
# 查看磁盘大小
docker system df
# 查看每个 image、container 详细大小
docker system df -v
# 查看 dir 路径
docker info | grep -i dir