Docker 最核心的概念就是镜像容器。我们可以把它们类比成“程序安装包”和“正在运行的软件”:

  • 镜像 (Image):一个只读的“模板”,包含了运行应用程序所需的一切(代码、运行时、库等)。可以把它想象成我们安装操作系统时用的ISO文件,或者面向对象编程中的“类”

  • 容器 (Container):镜像的“运行实例”。当你“运行”一个镜像时,就会得到一个容器。它就像一台启动了的轻量级虚拟机,可以被启动、停止、删除。它则是根据类创建出来的“对象”

第一部分:镜像操作——管理你的“安装包”

可以把镜像想象成你电脑里的安装包或ISO文件。

命令 作用 常用选项/说明 使用示例
docker pull 从镜像仓库(默认 Docker Hub)下载镜像到本地。 如果不指定标签(版本),默认会拉取名为 latest 的最新版。 docker pull nginx:latest
docker pull python:3.9
docker images 列出本地已下载的所有镜像。 可以看到镜像的名字、标签、ID 和大小。 docker images
docker rmi 删除本地的一个或多个镜像。 ⚠️ 注意:如果一个镜像正在被某个容器使用(即使容器是停止状态),通常无法直接删除,需要先处理掉依赖它的容器。 docker rmi nginx:latest
docker rmi -f (强制删除,不推荐)
docker search 在 Docker Hub 上搜索公开的镜像。 可以帮你快速查找官方或社区提供的镜像。 docker search ubuntu

第二部分:容器操作——管理你的“运行环境”

容器是真正运行应用的地方。

命令 作用 常用选项/说明 使用示例
docker run 创建并启动一个新的容器。 这是最核心的命令,常用参数众多,详见下文。 docker run -d --name web -p 80:80 nginx
docker ps 列出当前正在运行的容器。 -a:列出所有容器,包括已经停止的。 docker ps -a
docker stop 优雅地停止一个正在运行的容器。 会给容器内的主进程发送一个 SIGTERM 信号。 docker stop <容器名或ID>
docker start 启动一个已停止的容器。 常用 docker start <容器名或ID>
docker rm 删除一个已停止的容器。 如果想强制删除一个正在运行的容器,可以加上 -f 参数。 docker rm <容器名或ID>
docker rm -f <容器名或ID>
docker logs 查看容器的运行日志,对于调试非常有用。 -f:实时跟踪日志输出。 docker logs -f <容器名或ID>
docker exec 进入一个正在运行的容器内部执行命令。 常用 -it 参数开启一个交互式终端。 docker exec -it <容器名或ID> bash

第三部分:关键参数详解(以 docker run 为例)

理解这些参数,才能用好 docker run 命令。

  • -d (后台运行):让容器在后台静默运行,不会占用你的命令行界面。

  • --name (命名):给容器起一个有意义的名字,方便后续管理(如 docker stop my-nginx),如果不指定,Docker 会随机生成一个名字。

  • -p (端口映射):这是你访问容器内服务的关键。格式是 -p <宿主机端口>:<容器内端口>。例如,-p 8080:80 意味着访问你电脑的 8080 端口,就等于访问了 Nginx 容器的 80 端口。

  • -v (数据卷挂载):实现数据持久化和配置文件修改。格式是 -v <宿主机目录>:<容器内目录>。例如,-v ./my-html:/usr/share/nginx/html 可以将你当前目录下的 my-html 文件夹挂载到 Nginx 的默认网站目录,从而自定义网站内容。

第四部分:动手实践——运行你的第一个 Nginx 容器

环境准备:确保你已经安装了 Docker

步骤 1:拉取 Nginx 镜像
打开终端,输入以下命令从 Docker Hub 下载 Nginx 镜像:

docker pull nginx:latest

步骤 2:运行 Nginx 容器
使用 docker run 命令,将容器的 80 端口映射到你电脑的 8080 端口,并为它取名 my-first-nginx

docker run -d --name my-first-nginx -p 8080:80 nginx:latest

步骤 3:验证运行
在命令行输入 docker ps,你应该能看到名为 my-first-nginx 的容器状态为 Up
打开你的浏览器,访问 http://localhost:8080。如果看到 “Welcome to nginx!” 的欢迎页,说明你已经成功运行了第一个 Docker 容器!

步骤 4:探索与清理
现在,你可以尽情尝试其他命令了:

  • 查看日志docker logs my-first-nginx

  • 停止容器docker stop my-first-nginx(此时访问 localhost:8080 将无法打开)

  • 启动容器docker start my-first-nginx

  • 删除容器:(需要先停止它) docker rm my-first-nginx

  • 删除镜像:(需要先删除依赖它的容器) docker rmi nginx:latest

 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐