【docker】#2 | 基础命令

摘要:Docker 核心围绕镜像 与容器两大对象,本文整理 Docker 常用基础命令,包含镜像拉取、构建、导出导入,容器创建启停、进入、删除,附带 Nginx 完整实操案例,适合后端入门复习。

一、Docker 核心概念

Docker 的核心功能就是操作镜像 (image) 和容器 (container)

  • 镜像:模板,只读,用来创建容器(类似系统安装包)
  • 容器:镜像运行起来的实例,可读可写(类似运行中的虚拟机)

二、镜像相关命令

  1. 从镜像仓库拉取镜像

    docker pull 镜像名

  2. 查看本地全部镜像

    docker images

  3. 删除本地镜像

    docker rmi 镜像名:标签

  4. 自定义镜像:通过 Dockerfile 构建镜像

    docker build

构建完成后可以push推送到镜像仓库,同事就可以直接pull拉取使用。

  1. 镜像导出(保存为 tar 压缩包)

    docker save -o nginx.tar nginx:latest

  2. 导入本地 tar 包恢复镜像

    docker load -i nginx.tar

提示:可以使用docker load --help查看 load 命令帮助文档。

三、容器相关命令

重点区分: docker run:新建容器并且启动 ,重复执行 run 会重复创建新容器 docker start:启动已经存在的容器,不能用来新建容器

  1. 创建并运行容器

    docker run

  2. 查看正在运行的容器

    docker ps

    查看所有容器(包含已停止的)

    docker ps -a

  3. 停止正在运行的容器

    docker stop 容器名/容器ID

  4. 启动已经存在、处于停止状态的容器

    docker start 容器名/容器ID

  5. 查看容器运行日志

    docker logs 容器名

  6. 进入容器内部(交互式终端,可修改容器内文件)

    docker exec -it 容器名 bash

  7. 删除容器

注意:运行中的容器不能直接 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

复习总结

  1. 镜像:pull拉取、images查看、rmi删除、build构建、save导出、load导入
  2. 容器:run新建启动、start启动已有容器、stop停止、ps查看、logs日志、exec进入容器、rm删除
  3. 重要区分:run是新建容器 ,不要多次 run 同一个镜像;运行中容器不能直接 rm,要么先 stop,要么rm -f强制删除。
相关推荐
todoitbo9 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
是枚小菜鸡儿吖16 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉19 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg119 小时前
【Docker】镜像相关指令
运维·docker·容器
java_logo20 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
死磕音视频20 小时前
Open WebUI 入门:用 Docker 装上本地对话界面并连接 Ollama
docker·ollama·本地大模型·open webui
分布式存储与RustFS21 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
n1121221 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
小白的码BUG之路1 天前
K8s -- 搭建过程中经常遇到的问题
云原生·容器·kubernetes
慈云数据1 天前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器