avatar

Wz Blog

运维学习・持续更新

  • 首页
  • 文章
  • 登录/注册
  • 管理后台
主页 Docker
文章

Docker

发表于 2026-10-11 更新于 2026-10- 11
作者 Administrator
10~13 分钟 阅读

容器网络类型4种:

桥接网络

host网络

自定义网络

macvlan网络

**▶ docker的核心概念**

**• 镜像(Image)**

镜像是docker的“安装包”,里面包含了一个完整应用环境

**• 容器(Container)**

容器是镜像的“运行实例”,就像你双击安装包后打开的程序

每个容器都是独立运行的,互不干扰

**• 仓库(Registry)**

仓库类似“应用商店”,可以从这里拉取别人做好的镜像

你也可以上传自己的镜像,方便别人使用

**• Dockerfile**

它是一个文本文件,里面写了怎么一步一步构建镜像,类似一个“菜谱”,docker会根据这个“菜谱”自动打包成镜像

**• 卷(Volume)**

容器的U盘,容器本身是临时的,关了之后数据就没了

卷 可以让数据持久化保存,即使容器删除了,数据还在。(就像把文件存到U盘里,电脑坏了文件还在)

**• 网络(Network)**

默认情况下,容器之间是隔离的,但可以通过网络让他们互相通信

**▶ Docker镜像的操作**

**• 增:**

▪ 从远程仓库拉取镜像(最常用):


docker pull 镜像名:标签

▪ 使用Dockerfile构建镜像:

1.编写Dockerfile

2.构建镜像:


docker build -t 镜像名:标签 构建路径

-t:指定镜像名和标签

--no-cache:不适用缓存

--build-arg:构建函数

构建路径:构建上下文路径(你允许docker看到的素材文件夹)

例:docker引擎=厨房厨师

dockerfile=菜谱

构建上下文文件夹=厨师能拿到食材的篮子

**• 删:**

▪ 删除指定镜像:


docker rmi 镜像名:标签

▪ 根据镜像ID删除:


docker rmi 镜像ID

▪ 强制删除(镜像被容器使用时):


docker rmi -f 镜像名:标签

▪ 删除多个镜像:


docker rmi 镜像名1 镜像名2 镜像名3

▪ 删除悬空镜像(无标签的镜像):


# 查看悬空镜像:
docker images -f dangling=true
# 删除悬空镜像
docker image prune

▪ 删除所有未使用的镜像(包含悬空):


docker image prune -a

▪ 删除所有镜像(慎用):


docker rmi -f $(docker images -q)

**• 改:**

▪ 通过Dockerfile修改(推荐):

1.修改Dockerfile

2.重新构建镜像

▪ 修改镜像名、标签:


docker tag 原镜像名:标签 新镜像名:新标签

▪ 推送修改后的镜像到仓库:


docker push 镜像名:标签

**• 查:**

▪ 查看本地所有镜像:


docker images
docker images ls

▪ 查看指定镜像详细信息:


docker inspect 镜像名:标签

▪ 查看镜像历史(分层构建记录):


docker history 镜像名:标签

▪ 搜索镜像(远程仓库):


docker search 关键字

▪ 查看镜像占用空间:


docker system df

**▶ Docker容器的操作**

**• 增:**

▪ 创建并运行容器


docker run [选项] 镜像名 [命令]

常用选项:

-d:后台运行

-it:交互式(分配终端)

-p:宿主机端口:容器端口 端口映射

-v:宿主机目录:容器目录 挂载卷

--name:容器名

--restart:重启策略

-e:环境变量

▪ 创建并进入容器(交互式):


docker -run -it --name nginx nginx:v1 bash

▪ 仅创建不启动容器:


docker create --name nginx nginx:v1

▪ 使用环境变量:


docker -run -d -e MYSQL_ROOT_PASSWORD=Aa123qwe --name mysql mysql:8.0

▪ 挂载数据卷:


docker -run -d -v /data/nginx:/usr/share/nginx/html -p 80:80 --name mynginx nginx:v1

查看数据卷:


docker volume ls

删除数据卷:


docker volume rm 卷名

**• 删:**

▪ 删除停止的容器:


docker rm 容器ID或名称

▪ 强制删除正在运行的容器:


docker rm -f 容器ID或名称

▪ 删除所有已停止的容器:


docker container prune

▪ 退出容器(不删除):

exit或ctrl+D

▪ 停止容器(不删除):


docker stop 容器ID或名称

▪ 启动已停止的容器:


docker start 容器ID或名称

▪ 重启容器:


docker restart 容器ID或名称

**• 改:**

▪ 进入正在运行的容器:


docker exec -it 容器ID或名称 bash

▪ 修改容器名称:


docker rename 旧名称 新名称

▪ 修改容器配置(重启策略等):


docker update [选项] 容器ID或名称

常用选项:

--restart always:设置为开机自启

--memory 512m:设置内存限制

--cpus 1.5:设置CPU限制

▪ 提交容器为新镜像(保存修改):


docker commit 容器ID或名称 新镜像名:标签

▪ 复制文件:

拷贝到容器:


docker cp 本地文件 容器ID:容器路径

拷贝到本地:


docker cp 容器ID:容器路径 本地文件

**• 查:**

▪ 查看正在运行的容器:


docker ps

▪ 查看所有容器(包括已停止的):


docker ps -a

▪ 查看容器详细信息:


docker inspect 容器ID或名称

▪ 查看容器内进程:


docker top 容器ID或名称

▪ 查看容器资源使用情况:


docker stats 容器ID或名称

▪ 查看容器端口映射:


docker port 容器ID或名称

▪ 查看容器日志:


docker logs [容器名或ID]

常用选项:

-f:实时跟踪日志

--tail N:显示最后N行日志

-t:显示时间戳

容器与云原生
笔记 Docker
许可协议:  CC BY 4.0
分享

相关文章

10月 17, 2026

Kubernetes v1.28.2 双Master堆叠etcd + Haproxy/Keepalived 高可用部署 SOP(Docker + cri-dockerd)

架构一句话:3 台阿里云 ECS,2 台跑 kube-apiserver + etcd 堆叠控制平面,同时在这 2 台上混部 Haproxy + Keepalived 提供 VIP 172.26.127.62:6443;第 3 台做 Worker。所有 kubelet / kubectl 一律连 V

10月 11, 2026

使用Docker方式部署Harbor镜像仓库

1.下载离线安装包 wget https://github.com/goharbor/harbor/releases/download/v2.13.1/harbor-offline-installer-v2.13.1.tgz 2.解压到/opt目录下 tar xvzf harbor-offli

10月 11, 2026

kubernetes概念

▶ k8s简介以及主要功能(优势) • k8s简介 k8s的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化。 • 主要功能 ▪ 自我修复:RS deployment 一旦某一个容器崩溃,能够在1秒左右迅速启动新的容器 ▪ 弹性伸缩:

下一篇

Dockerfile

上一篇

Docker-compose工具

最近更新

  • Kubernetes v1.28.2 双Master堆叠etcd + Haproxy/Keepalived 高可用部署 SOP(Docker + cri-dockerd)
  • 名词解释
  • ECS 实例反复冻结 —— 故障根因分析报告
  • 运维六大工作内容
  • 磁盘相关命令

热门标签

监控 Linux 数据库 Docker 笔记 CI/CD Kubernetes Nginx

目录

©2026 Wz Blog. 保留部分权利。

使用 Halo 主题 Chirpy