Docker 入门:容器化基本操作
·
Docker 入门:容器化基本操作指南
Docker 是一个开源平台,用于开发、部署和运行应用程序在轻量级容器中。容器化技术将应用及其依赖打包成独立单元,确保环境一致性、可移植性和高效资源利用。本指南将逐步介绍 Docker 的基本概念和操作,帮助您快速上手。所有命令基于 Linux 环境,但核心原理适用于所有操作系统。
1. 核心概念
- 容器(Container):一个运行中的实例,包含应用代码、运行时环境和系统工具。它基于镜像创建,是隔离的进程。
- 镜像(Image):一个只读模板,用于创建容器。镜像包含应用代码、库和配置,存储在仓库中。
- 仓库(Repository):存储和共享镜像的平台,如 Docker Hub(官方公共仓库)。
2. 安装 Docker
在开始操作前,请确保已安装 Docker:
- Linux:使用包管理器安装,例如 Ubuntu 系统:
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker - Windows/macOS:下载 Docker Desktop 并安装(访问 Docker 官网)。
3. 基本操作步骤
以下命令是 Docker 的核心操作,每个步骤都附有解释和示例。
步骤 1: 拉取镜像(Pull an Image)
- 从仓库下载镜像到本地。
- 命令格式:
docker pull [镜像名:标签] - 示例:拉取官方 Nginx 镜像(默认标签为 latest):
docker pull nginx
步骤 2: 运行容器(Run a Container)
- 基于镜像启动一个新容器。
- 命令格式:
docker run [选项] [镜像名] - 常用选项:
-d:后台运行(detached 模式)。-p [主机端口]:[容器端口]:端口映射。--name [容器名]:指定容器名称。
- 示例:运行 Nginx 容器,映射到主机端口 8080:
docker run -d -p 8080:80 --name my-nginx nginx- 此时,访问
http://localhost:8080可看到 Nginx 欢迎页面。
- 此时,访问
步骤 3: 查看容器状态(List Containers)
- 显示当前运行的容器。
- 命令:
docker ps - 查看所有容器(包括已停止的):
docker ps -a - 示例输出:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES 123abc456def nginx "/docker-entrypoint.…" Up 5 minutes 0.0.0.0:8080->80/tcp my-nginx
步骤 4: 停止和删除容器(Stop and Remove Containers)
- 停止容器:
docker stop [容器ID或名称] - 删除容器:
docker rm [容器ID或名称](必须先停止)。 - 示例:停止并删除 my-nginx 容器:
docker stop my-nginx docker rm my-nginx
步骤 5: 管理镜像(Manage Images)
- 列出本地镜像:
docker images - 删除镜像:
docker rmi [镜像ID](必须先删除所有相关容器)。 - 示例:查看并删除 Nginx 镜像:
docker images # 查看镜像列表 docker rmi nginx # 删除指定镜像
4. 简单实践示例
运行一个 Hello World 容器来测试 Docker 是否正常工作:
# 拉取官方 Hello World 镜像
docker pull hello-world
# 运行容器
docker run hello-world
- 输出应显示欢迎消息,如 "Hello from Docker!",表示安装和操作成功。
5. 最佳实践和后续学习
- 安全性:避免以 root 用户运行容器(使用
--user选项)。 - 持久化数据:使用卷(Volume)存储数据,例如
docker run -v [主机目录]:[容器目录]。 - 进阶学习:
- 学习 Dockerfile 来自定义镜像(例如,创建 Python 应用镜像)。
- 探索 Docker Compose 管理多容器应用。
- 资源推荐:官方文档(Docker Docs)和在线教程(如 Docker 官方教程)。
通过以上步骤,您已掌握 Docker 的基本操作。容器化技术是现代 DevOps 的核心,建议多实践以加深理解。遇到问题时,使用 docker --help 或社区论坛寻求支持!
更多推荐

所有评论(0)