Docker 入门:常用命令与镜像管理实践
一、背景
在日常开发中,我们经常遇到这样的困扰:在本地运行良好的应用,部署到测试环境或生产环境后却出现各种异常。究其原因,往往是环境不一致导致的:操作系统版本、依赖库版本、配置文件路径等细微差异,都可能让程序“水土不服”。
Docker 正是为解决这类问题而生的容器化技术。它将应用及其运行所需的依赖打包成一个轻量、可移植的镜像(Image),在任何安装了 Docker 的主机上都能以相同的方式运行。这种“一次构建、处处运行”的特性,让 Docker 成为现代应用交付的标准工具之一。
二、安装后常用命令
安装完成后,可以先用以下命令确认 Docker 正常工作:
docker version:查看 Docker 客户端与服务端的版本信息;docker info:查看 Docker 系统的详细信息,包括镜像与容器数量、存储驱动等;docker --help:查看命令帮助,每个子命令也支持--help查看详细用法。
日常使用频率最高的几个命令:
docker pull <镜像名>:从镜像仓库拉取镜像,例如docker pull nginx:latest;docker images:列出本地已有的镜像;docker run:基于镜像创建并启动容器,是最核心的命令之一;docker ps:查看正在运行的容器,加上-a参数可查看所有容器(含已停止的);docker stop <容器名/ID>/docker start <容器名/ID>:停止 / 启动容器;docker rm <容器名/ID>:删除已停止的容器;docker exec -it <容器名> /bin/bash:进入正在运行容器的交互式终端。
掌握这几个命令,就能完成大部分日常操作。
三、镜像与容器管理
理解镜像与容器的关系是 Docker 入门的关键:镜像是只读的模板,容器是镜像运行时的实例。可以把镜像想象成“类”,容器则是“对象”——同一个镜像可以启动多个相互隔离的容器。
镜像管理常用命令:
docker images:查看本地镜像列表,关注 REPOSITORY(仓库名)、TAG(标签)、IMAGE ID;docker rmi <镜像ID>:删除本地镜像(需先删除依赖它的容器);docker tag <镜像ID> <新名称>:<标签>:为镜像打标签,常用于发布前命名;docker build -t <名称>:<标签> .:根据当前目录的 Dockerfile 构建镜像;docker save -o xxx.tar <镜像>/docker load -i xxx.tar:镜像的导出与导入,适合离线环境迁移。
容器管理常用命令:
docker run -d --name my-nginx -p 8080:80 nginx:以后台方式启动容器,命名为 my-nginx,并把宿主机 8080 端口映射到容器 80 端口;docker logs <容器名>:查看容器日志,加上-f可实时跟踪;docker inspect <容器名>:查看容器的详细信息(网络、挂载、配置等);docker cp:在宿主机与容器之间拷贝文件。
一个好的习惯是:为容器指定 --name,避免使用难以记忆的随机名称;长期运行的服务使用 -d 后台运行;不再需要的容器及时 docker rm,避免堆积占用资源。
四、一个小实践:用 Docker 运行一个静态网站
下面通过一个完整的小实践,把上面的命令串起来。
- 准备一个简单的静态页面
index.html,内容随意,例如一句欢迎语; - 在同一目录编写
Dockerfile:
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
- 构建镜像:
docker build -t my-site:1.0 . - 启动容器:
docker run -d --name my-site -p 8080:80 my-site:1.0 - 在浏览器访问
http://localhost:8080,即可看到页面; - 修改
index.html后重新构建并替换容器,体验“修改—构建—运行”的完整流程。
这个实践虽然简单,却完整覆盖了“编写 Dockerfile → 构建镜像 → 运行容器 → 端口映射 → 访问验证”的核心链路,是理解 Docker 工作流的最佳起点。
五、总结
Docker 的学习曲线并不陡峭:先理解“镜像是模板、容器是实例”这一核心概念,再熟练掌握 run、ps、images、exec、logs、rm、rmi 等常用命令,就能应对大多数日常场景。建议初学者从运行现成镜像开始,逐步尝试自己编写 Dockerfile,在实践中体会容器化带来的环境一致性与部署便利性。当你能用一条 docker run 命令在任何机器上拉起相同的应用环境时,Docker 就真正成为了你的生产力工具。
- 点赞
- 收藏
- 关注作者
评论(0)