摘要:Docker 核心围绕镜像 与容器两大对象,本文整理 Docker 常用基础命令,包含镜像拉取、构建、导出导入,容器创建启停、进入、删除,附带 Nginx 完整实操案例,适合后端入门复习。
一、Docker 核心概念
Docker 的核心功能就是操作镜像 (image) 和容器 (container)
- 镜像:模板,只读,用来创建容器(类似系统安装包)
- 容器:镜像运行起来的实例,可读可写(类似运行中的虚拟机)
二、镜像相关命令
-
从镜像仓库拉取镜像
docker pull 镜像名
-
查看本地全部镜像
docker images
-
删除本地镜像
docker rmi 镜像名:标签
-
自定义镜像:通过 Dockerfile 构建镜像
docker build
构建完成后可以push推送到镜像仓库,同事就可以直接pull拉取使用。
-
镜像导出(保存为 tar 压缩包)
docker save -o nginx.tar nginx:latest
-
导入本地 tar 包恢复镜像
docker load -i nginx.tar
提示:可以使用
docker load --help查看 load 命令帮助文档。
三、容器相关命令
重点区分:
docker run:新建容器并且启动 ,重复执行 run 会重复创建新容器docker start:启动已经存在的容器,不能用来新建容器
-
创建并运行容器
docker run
-
查看正在运行的容器
docker ps
查看所有容器(包含已停止的)
docker ps -a
-
停止正在运行的容器
docker stop 容器名/容器ID
-
启动已经存在、处于停止状态的容器
docker start 容器名/容器ID
-
查看容器运行日志
docker logs 容器名
-
进入容器内部(交互式终端,可修改容器内文件)
docker exec -it 容器名 bash
-
删除容器
注意:运行中的容器不能直接 rm 删除
# 方式1:先停止,再删除
docker stop 容器名
docker rm 容器名
# 方式2:强制删除(不管容器是否正在运行)
docker rm -f 容器名
小贴士:遇到参数记不清,优先查阅官方文档。
四、综合实操案例:Nginx 完整流程
需求:在 DockerHub 搜索 Nginx 镜像 → 拉取镜像 → 查看本地镜像 → 创建运行 Nginx 容器 → 查看容器 → 停止容器 → 重启容器 → 进入容器 → 删除容器
# 1.拉取nginx镜像
docker pull nginx
# 2.查看本地镜像列表
docker images
# 3.【可选】镜像打包备份
docker save -o nginx.tar nginx:latest
# 4.【可选】删除本地镜像,测试导入
docker rmi nginx:latest
# 5.【可选】从tar包恢复镜像
docker load -i nginx.tar
docker images
# 6.创建并后台运行nginx容器,端口映射80:80,命名nginx
docker run -d --name nginx -p 80:80 nginx
# 7.查看正在运行的容器
docker ps
# 8.停止nginx容器
docker stop nginx
# 9.重新启动已存在的nginx容器
docker start nginx
# 10.查看容器日志
docker logs nginx
# 11.进入nginx容器内部
docker exec -it nginx bash
# 12.删除容器(演示)
# 正常删除:先stop再rm
docker stop nginx
docker rm nginx
# 强制删除
# docker rm -f nginx
复习总结
- 镜像:
pull拉取、images查看、rmi删除、build构建、save导出、load导入 - 容器:
run新建启动、start启动已有容器、stop停止、ps查看、logs日志、exec进入容器、rm删除 - 重要区分:
run是新建容器 ,不要多次 run 同一个镜像;运行中容器不能直接 rm,要么先 stop,要么rm -f强制删除。