


Docker 常用命令
1. docker 基础命令
1.1. 启动docker命令
systemctl start docker
1.2. 关闭docker命令
systemctl stop docker
1.3. 重启docker命令
systemctl restart docker
1.4. 查看docker状态命令
systemctl status docker
1.5. 查看docker版本命令
docker version
1.6. 查看docker信息命令
docker info
1.7. docker 帮助命令
忘记了某些命令便可使用此进行查看与回顾
docker --help
比如 咱忘记了 拉取命令 不知道可以带哪些参数 咱可以这样使用
docker pull --help
2. docker 镜像命令
2.1. 查看自己服务器中docker 镜像列表
docker images
2.2. 搜索镜像
[MirrorName] 镜像名
docker search [MirrorName]
搜索 STARS >9000的 mysql 镜像
docker search --filter=STARS=9000 mysql
2.3. 拉取镜像
不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本
[MirrorName] 镜像名
[Tag] 版本号
docker pull [MirrorName]
docker pull [MirrorName]:[Tag]
2.4. 运行镜像
[MirrorName] 镜像名
[Tag] 版本号
docker run [MirrorName]
docker run [MirrorName]:[Tag]
2.5. 删除镜像
当前镜像没有被任何容器使用才可以删除
[MirrorName] 镜像名
[MirrorID] 镜像ID
2.5.1. 删除一个
docker rmi -f [MirrorName]/[MirrorID]
2.5.2. 删除多个 其镜像ID或镜像用用空格隔开即可
docker rmi -f [MirrorName]/[MirrorID] [MirrorName]/[MirrorID] [MirrorName]/[MirrorID]
2.5.3. 删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)
2.6. 强制删除镜像
[MirrorName] 镜像名
[MirrorID] 镜像ID
docker image rm [MirrorName]/[MirrorID]
2.7. 保存镜像
[MirrorName] 镜像名
[MirrorID] 镜像ID
docker save [MirrorName]/[MirrorID] -o [Path]/[FileName]
exmaple:
docker save tomcat -o /myimg.tar
2.8. 加载镜像
任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像
[Path] 路径
[FileName] 文件名
docker load -i [Path]/[FileName]
3. docker 容器命令
3.1. 查看容器列表
3.1.1. 查看正在运行容器列表
docker ps
3.1.2. 查看所有容器
包含正在运行 和已停止的
docker ps -a
3.2. 构建容器
-it 表示 与容器进行交互式启动
-d 表示可后台运行容器 (守护式运行)
--restart=always 容器自动重启
-v 宿主机文件存储位置:容器内文件位置 可同时挂载多个文件,须多个-v
[HostFilePath] 宿主机文件存储位置
[ContainerFilePath] 容器内文件位置
--name 给要运行的容器 起的名字
[Alias] 容器别名
-p 宿主机端口:容器端口
[HostPort] 宿主机端口
[ContainerPort] 容器端口
[MirrorName] 镜像名
[MirrorID] 镜像ID
/bin/bash 交互路径
docker run -it -d --restart=always -v [HostFilePath]:[ContainerFilePath] -name [Alias] -p [HostPort]:[ContainerPort] [MirrorName]/[MirrorID] /bin/bash
3.3. 启动容器
[ContainerName] 容器名称
[ContainerID] 容器ID
docker start [ContainerName]/[ContainerID]
3.4. 停止容器
[ContainerName] 容器名称
[ContainerID] 容器ID
docker stop [ContainerName]/[ContainerID]
3.5. 重启容器
[ContainerName] 容器名称
[ContainerID] 容器ID
docker restart [ContainerName]/[ContainerID]
3.6. 杀掉容器
[ContainerName] 容器名称
[ContainerID] 容器ID
docker kill [ContainerName]/[ContainerID]
3.7. 已有容器设置自动重启
[ContainerName] 容器名称
[ContainerID] 容器ID
docker update --restart=always [ContainerName]/[ContainerID]
3.8. 进入容器
[ContainerName] 容器名称
[ContainerID] 容器ID
/bin/bash 交互路径
docker exec -it [ContainerName]/[ContainerID] /bin/bash
3.9. 容器文件拷贝
无论容器是否开启 都可以进行拷贝
[ContainerName] 容器名称
[ContainerID] 容器ID
[ContainerPath] 容器内路径
[HostPath] 宿主机路径
3.9.1. 从容器内拷贝至宿主机
docker cp [ContainerName]/[ContainerID] [ContainerPath] [HostPath]
3.9.2. 从宿主机拷贝至容器内
docker cp [HostPath] [ContainerName]/[ContainerID] [ContainerPath]
3.10. 查看容器日志
[Line] 行数 要查看末尾多少行 默认all
[ContainerName] 容器名称
[ContainerID] 容器ID
docker logs -f --tail=[Line] [ContainerName]/[ContainerID]
3.11. 更换容器名称
[ContainerName] 容器名称
[ContainerID] 容器ID
[NewContainerName] 新容器名称
docker rename [ContainerName]/[ContainerID] [NewContainerName]
3.12. 查看容器进程
[ContainerName] 容器名称
[ContainerID] 容器ID
docker top [ContainerName]/[ContainerID]
3.13. 查看容器信息
[ContainerName] 容器名称
[ContainerID] 容器ID
docker inspect [ContainerName]/[ContainerID]
4. docker 进阶命令
4.1. 提交一个镜像
我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个更新的镜像,这时候我们就需要使用 commit 命令来构建一个新的镜像
-m 提交信息
[CommitInfo] 提交信息的内容 -m="初次提交"
-a 作者信息
[Author] 作者信息内容 -a="Elex"
[ContainerName] 容器名称
[ContainerID] 容器ID
[MirrorName] 提交的镜像名称
[Tag] 镜像版本号
docker commit -m=[CommitInfo] -a=[Author] [ContainerName]/[ContainerID] [MirrorName]:[Tag]
4.2. 打包一个镜像
-t 镜像名称:镜像版本号
[MirrorName] 打包的镜像名称
[Tag] 镜像版本号
. 当前目录
docker build build -t [MirrorName]:[Tag] .
5. docker 运维命令
5.1. 查看docker工作目录
sudo docker info | grep "Docker Root Dir"
5.2. 查看docker磁盘占用总体情况
du -hs /var/lib/docker/
5.3. 查看docker的磁盘使用具体情况
docker system df
5.4. 删除 无用的容器和 镜像
5.4.1. 删除异常停止的容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'`
5.4.2. 删除名称或标签为none的镜像
docker rmi -f `docker images | grep '<none>' | awk '{print $3}'`
5.5. 清除所有无容器使用的镜像
docker system prune -a
5.6. 查找大文件
find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr
5.7. 查找指定docker使用目录下大于指定大小文件
[Path] 路径 目录
find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr |grep [Path]