文章总结: 本文系统总结Docker单机环境常用命令,涵盖镜像管理(pull/push/tag/login)、容器生命周期管理(run/ps/exec/stop/rm)和资源管理(volume/网络/清理)。重点演示了拉取公有私有镜像、配置镜像加速器、数据卷挂载及系统资源清理等实操场景,并附新手速查表。核心价值在于通过场景化分类帮助初学者快速掌握Docker基础运维技能。 综合评分: 75 文章分类: 安全工具,应用安全,云安全,安全运营,其他
Docker 入门之单机常用命令总结
原创
一只岸上的鱼 一只岸上的鱼
一只岸上的鱼
2026年4月15日 08:39 江苏
在小说阅读器读本章
去阅读
Docker 入门之单机常用命令总结
缘起
大部分场景,或者说大部分入门使用场景,都是单机环境下使用docker,主要用来隔离环境,节省硬件资源。
所以单机命令也就是最常用的命令了。这篇总结一下单机常用的几组命令。
命令分类
分类的方法是很多的,我采用使用场景来区分:
- 镜像管理: 静态数据
- 容器管理:动态运行实
- 资源管理: 网络与存储
镜像管理
容器镜像主要分俩类:从仓库拉取、将本地镜像推送到仓库
- 先来一组拉取镜像的命令
# 拉取最新版Nginxdocker pull nginx
# 拉取指定版本(如1.21.0)docker pull nginx:1.21.0
# 拉取私有仓库镜像docker pull docker.1ms.run/nginx:latest
说明:
A. 第一条命令有2个默认值,这也是docker常用的:
- 当不指定仓库名的时候,默认拉取hub.docker.com
- 当不支持镜像版本(tag)的时候,默认指得是latest
B. 第二条拉取指定版本镜像
C. 拉取私有仓库的镜像————同时也可能通过镜像(代理)拉取镜像
拉取私有仓库或者通过代理拉取其他仓库(例如中央仓库hub.docker.com)的命令表现形式是一样的。
注: 为什么要代理呢?要镜像呢?因为hub.docker.com大部分时候是连不上的……
如果嫌弃每次都要加上代理的域名,比较麻烦:
# 直接拉取docker pull nginx:latest
# 通过毫秒镜像拉取docker pull docker.1ms.run/nginx:latest
是可以将这个镜像配置到服务中的(docker服务)
配置文件: /etc/docker/daemon.json
{ "registry-mirrors": [ "https://docker.1ms.run" ] }
这时候默认就是从docker.1ms.run拉取了
- 推送镜像到仓库
来一组推送命令:
docker push myapp:0.1
docker tag myapp:0.1 docker.cnb.cool/yiqiu/myapp:0.1docker push docker.cnb.cool/yiqiu/myapp:0.1
简单说明:
- 第一条命令就是将镜像推送到默认仓库(hub.docker.com)
- 将镜像推送到私库
注意,推送到指定仓库,是无法单独指定仓库名称的,唯一的方法就是将镜像重命名,将仓库名称带入到镜像的名称中:重新tag,这就是第二条指令的作用,类似于ln -s吧
辅助命令: 推送仓库、或者从私有仓库拉取,都是要登录的,要有权限控制的,下面是登录命令,执行后会提示输入密码:
# 使用用户名yiqiu登录docker.cnb.cool仓库docker login -u yiqiu docker.cnb.cool
如果你对自己搭建docker仓库和代理感兴趣,推荐:
使用nexus3搭建自己的制品服务器
容器管理
容器就是动态的概念了,就是运行中的镜像,内存中的,容器管理的就是容器的生命周期:
容器的创建、查看、监控、进入容器内部、停止、删除:
# 启动一个镜像docker run -d -p 8080:80 --name mynginx nginx
# 查看当前宿主机运行中的镜像docker ps docker ps -a #当前宿主机中的镜像,包含一键停止的
# 查看当前宿主机运行中的镜像的资源占用docker stats
# 进入docker 内部的环境中docker exec -it mynginx bash
# 停止镜像、启动镜像、重启镜像docker stop mynginxdocker start mynginxdocker restart mynginx
# 删除镜像docker rm mynginx
这些命令的实操:
日志的查看:
# 查看my-nginx的完整日志docker logs mynginx
# 实时跟踪日志docker logs -f mynginx
# 查看最后100行日志docker logs --tail 100 mynginx
资源管理
docker 的资源,必须手工管理的,只有硬盘(文件夹)和网络(端口),其他资源(cpu、内存)都可以默认系统管理的。
网络资源已经写了两篇文章说明了,这里就不多说了,关于硬盘(文件夹)作用:将数据独立于运行中的容器,以确保当容器生命周期结束的时候,数据能保存下来
有俩方式:
- 使用docker volume 创建数据卷
由docker引擎管理,可以使用本地硬盘、NFS、NAS等
常用命令:
# 创建数据卷docker volume create myvol
# 查看docker volume ls
# 删除docker volume rm myvol# 清理所有未用、匿名的数据卷docker volume prune
实验结果:
- 使用-v参数直接映射本地文件夹
只能使用本地文件系统,但是可以宿主机可读
# mkdir ./datadocker run -it --rm -v ./data:/data alpine sh
实验结果:
清理资源
# 基础清理docker system prune
# 清理所有未使用的镜像(包括未打标签的)docker system prune -a
# 清理所有未使用的镜像、容器、网络和数据卷(慎用!)docker system prune -a --volumes
小结
常用命令表格:
速查表:新手必备,收藏备用!
| 功能 | 核心命令 | 用例 |
| — | — | — |
| 拉取镜像 | docker pull <镜像> | docker pull nginx |
| 查看镜像 | docker images | docker images |
| 启动容器 | docker run -d -p 80:80 --name <name> <image> | docker run -d -p 8080:80 --name my-nginx nginx |
| 查看容器 | docker ps -a | docker ps -a |
| 进入容器 | docker exec -it <name> /bin/bash | docker exec -it my-nginx /bin/bash |
| 查看日志 | docker logs -f <name> | docker logs -f my-nginx |
| 停止容器 | docker stop <name> | docker stop my-nginx |
| 删除容器 | docker rm <name> | docker rm my-nginx |
| 清理环境 | docker system prune -a | docker system prune -a |
本系列其他
- Docker 入门之基本概念
- Docker 入门之网络基础
- Docker 入门之overlay网络
- docker入门之单进程哲学与多进程管理
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:一只岸上的鱼 一只岸上的鱼 一只岸上的鱼《Docker 入门之单机常用命令总结》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论