常用命令
启动类命令
bash
# 启动docker
systemctl start docker
# 停止docker
systemctl stop docker
# 重启docker
systemctl restart docker
# 查看docker状态
systemctl status docker
# 开机启动
systemctl enable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help
# 查看docker命令命令帮助文档
docker 具体命令 --help镜像命令
TIP
中括号内为可选参数
docker images
bash
# 查看所有镜像
docker images [-a]
# 查看具体某个镜像
docker images -q 镜像IDbash
# 镜像库 版本号 镜像 ID 创建时间 镜像大小
REPOSITORY TAG IMAGE ID CREATED SIZE
minio/minio RELEASE.2023-11-20T22-40-07Z 88c665b1183a 6 months ago 147MB
redis 7-alpine 2d5230e57b1b 8 months ago 37.8MB
mysql latest c138801544a9 10 months ago 577MBdocker search
搜索镜像
bash
docker search 镜像名称 [--limit 数量]docker pull
从远程仓库下载镜像到本地
bash
docker pull 镜像名称[:版本号]docker system df
查看镜像/容器/数据卷所占用空间
bash
docker system dfbash
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 11 7 7.109GB 989.3MB (13%)
Containers 7 4 3.114MB 3.07MB (98%)
Local Volumes 5 3 3.691GB 3.374GB (91%)
Build Cache 0 0 0B 0Bdocker rmi
删除镜像
bash
# 删除单个
docker rmi -f 镜像ID
# 删除多个
docker rmi -f 镜像ID1 镜像ID2
# 删除全部
docker rmi -f $(docker images -qa)容器命令
docker run
新建、启动容器
bash
# 语法
docker run [options] image [command][arg...]options 常用说明:
--name=:给容器指定一个名称,不使用则会随机分配一个名称-d:后台运行容器并返回一个容器ID (后台守护式容器)-i:以交互模式运行容器,通常和-t同时使用(前台交互式容器)-t:为容器重新分配一伪输入终端,通常和-i同时使用(前台交互式容器)-P:随机端口映射,大写P-p:指定端口映射,小写p-v:指定容器卷-e:指定环境变量
docker update
更新容器属性
bash
# 语法
docker update [属性名]=[属性值] [容器ID或名字]
# 更新重启策略
docker update --restart=always 990ccd8ccb94docker ps
列出当前所有正在运行的容器
bash
# 语法
docker ps [options]options常用说明:
-a:列出当前所有正在运行的容器 + 历史上运行过得容器-l:显示最近创建的容器-n:显示最近n个创建的容器-q:静默模式,只显示容器编号
退出容器
exit:run进去容器,exit退出,容器停止ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止
容器重启、停止、删除
docker start [容器ID]:启动已经停止运行的容器docker restart [容器ID]:重启容器docker stop [容器ID]:停止正在运行的容器docker kill [容器ID]:强制停止正在运行的容器docker rm [容器ID]:删除已经停止的容器docker rm -f [容器ID]:强制删除容器docker rm -f $(docker ps -aq):一次性删除多个容器(谨慎使用)
容器日志、进程、进入命令行
查看容器日志
bash
# 语法 docker logs [options] 容器ID
docker logs -f --since 2024-05-05 -t --tail 200 990ccd8ccb94OPTIONS说明:
-f: 跟踪日志输出--since: 显示某个开始时间的所有日志-t: 显示时间戳--tail: 仅列出最新N条容器日志
查看容器进程:docker ps -a | grep [名称]
bash
docker ps -a | grep mysql
docker ps -a | grep redis查看容器内运行的进程
bash
# 语法 docker top 容器ID
docker top 990ccd8ccb94查看容器内部细节
bash
# 语法 docker inspect 容器ID
docker inspect 990ccd8ccb94进入正在运行的容器并以命令行进行交互
bash
# 语法 docker exec -it 容器ID bash
docker exec -it 990ccd8ccb94 bash容器复制、导入、导出
复制
bash
# 语法 docker cp [容器ID]:[容器内路径] [目的主机路径]
docker cp 990ccd8ccb94:/opt/test.txt /Users/hu/Downloads/test.txt导出
export导出容器的内容作为一个tar文档文件[对应import命令]
bash
# 语法 docker export [容器ID] > [文件名.tar]
docker export 990ccd8ccb94 > test.tar导入
从归档文件中创建镜像。
bash
# 语法 docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
docker import my_ubuntu_v3.tar my/ubuntu:v4清除缓存
清除Docker容器
bash
docker container prune清除Docker镜像
bash
docker image prune清除Docker卷
bash
docker volume prune清除Docker网络
bash
docker network prune清除Docker所有未使用的资源
bash
docker system prune清除Docker所有未使用的资源(包括镜像)
bash
docker system prune -a清除Docker容器、镜像、卷和网络的缓存
bash
docker builder prune