云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

Docker-基础概念

jxf315 2025-05-21 14:36:17 教程文章 9 ℃

一、Docker 镜像(Image)

1. 定义:

Docker 镜像是一个只读的模板,包含了运行某个程序所需的所有内容:代码、运行时、库、环境变量和配置文件等。

2. 类比:

可以把镜像看作是一个操作系统的安装包或是一个程序的“快照”。

3. 特点:

  • 只读:镜像本身不可更改。
  • 分层结构:每一层都是对上一层的修改,比如基础镜像是 Ubuntu,上一层可能加了 Python,再上一层安装了你的应用。
  • 可共享:多个容器可以基于同一个镜像运行。

4. 示例:

docker pull nginx

上述命令下载一个 nginx 镜像,它包含了 nginx 服务器运行所需的所有环境。


二、Docker 容器(Container)

1. 定义:

容器是镜像的一个运行实例。它是基于镜像启动的一个“沙箱环境”,可以进行读写操作,里面运行着真实的进程。

2. 类比:

可以把容器看作是“镜像的运行态”,类似于“程序的一个运行实例”或“镜像启动后的一个虚拟机”。

3. 特点:

  • 轻量:共享主机的操作系统内核,比虚拟机更轻便。
  • 可变:你可以在容器内添加文件、运行程序等。
  • 临时性:默认容器停止后更改不会保存(除非使用 volume 持久化)。

4. 示例:

docker run -d -p 80:80 nginx

这个命令启动一个 nginx 容器,把本地 80 端口映射到容器中 nginx 的 80 端口。


三、镜像与容器的关系

镜像(Image)

容器(Container)

类似于类(Class)

类似于对象(Object)

是容器的模板

是镜像的运行实例

只读的

可读写的

可以被多个容器复用

每个容器独立运行


四、常用命令总结:

# 查看已有镜像
docker images

# 删除镜像
docker rmi 镜像名或ID

# 查看正在运行的容器
docker ps

# 查看所有容器(包含已停止)
docker ps -a

# 启动容器
docker run 镜像名

# 停止容器
docker stop 容器ID

# 删除容器
docker rm 容器ID
最近发表
标签列表