插件窝 干货文章 docker镜像和容器是什么

docker镜像和容器是什么

容器 Docker 镜像 运行 387    来源:    2025-04-08

Docker镜像与容器详解

Docker镜像(Image)

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

特点: - 分层结构:镜像由多个只读层组成,这种分层设计使得镜像更高效、更节省空间 - 不可变性:镜像一旦创建就不能被修改(只能通过创建新层来更新) - 可共享性:可以通过Docker Hub或其他镜像仓库分享和分发

常见操作

# 拉取镜像
docker pull ubuntu:20.04

# 列出本地镜像
docker images

# 构建镜像(通过Dockerfile)
docker build -t my-image .

# 删除镜像
docker rmi ubuntu:20.04

Docker容器(Container)

定义:容器是镜像的运行实例,是一个轻量级、可执行的独立环境。

特点: - 可写层:容器在镜像之上添加了一个可写层(容器层) - 隔离性:每个容器都有自己的文件系统、网络和进程空间 - 临时性:容器可以被启动、停止、移动和删除 - 轻量级:共享主机操作系统内核,启动迅速

常见操作

# 运行容器
docker run -it ubuntu:20.04 /bin/bash

# 列出运行中的容器
docker ps

# 列出所有容器(包括停止的)
docker ps -a

# 停止容器
docker stop container_id

# 启动已停止的容器
docker start container_id

# 删除容器
docker rm container_id

镜像与容器的关系

  1. 镜像静态的定义,容器动态的运行实例
  2. 一个镜像可以创建多个容器(类似面向对象中类和对象的关系)
  3. 容器运行时会基于镜像创建可写层,所有修改都发生在这一层

实际应用示例

# 1. 拉取Nginx镜像
docker pull nginx:latest

# 2. 运行Nginx容器(映射端口80)
docker run -d -p 8080:80 --name my-nginx nginx

# 3. 访问http://localhost:8080即可看到Nginx欢迎页

# 4. 停止并删除容器
docker stop my-nginx
docker rm my-nginx

理解镜像和容器的概念是掌握Docker的基础,它们共同构成了Docker轻量级、可移植的应用打包和运行机制。