← 返回文章列表
Linux2026年02月17日

Docker 入门指南:容器化技术基础

Docker 入门指南:容器化技术基础

Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到轻量级、可移植的容器中。

什么是 Docker?

Docker 使用容器技术,将应用程序及其运行环境打包在一起,实现:

  • 一致性:开发、测试、生产环境一致
  • 隔离性:应用之间相互隔离
  • 轻量级:比虚拟机更轻量
  • 可移植性:一次构建,到处运行

核心概念

镜像(Image)

镜像是只读的模板,用于创建容器。可以理解为应用程序的"快照"。

容器(Container)

容器是镜像的运行实例,可以启动、停止、删除。

仓库(Repository)

仓库用于存储和分发镜像,类似 Git 仓库。

基本命令

镜像操作

# 搜索镜像
docker search nginx

# 拉取镜像
docker pull nginx:latest

# 查看本地镜像
docker images

# 删除镜像
docker rmi image_id
docker rmi image_name:tag

容器操作

# 运行容器
docker run -d -p 80:80 --name my-nginx nginx

# 查看运行中的容器
docker ps

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

# 停止容器
docker stop container_id

# 启动容器
docker start container_id

# 重启容器
docker restart container_id

# 删除容器
docker rm container_id

# 查看容器日志
docker logs container_id
docker logs -f container_id  # 实时查看

# 进入容器
docker exec -it container_id /bin/bash

常用参数说明

  • -d: 后台运行(detached)
  • -p: 端口映射(host:container)
  • --name: 指定容器名称
  • -v: 数据卷挂载
  • -e: 设置环境变量
  • -it: 交互式终端

Dockerfile 编写

Dockerfile 是用于构建镜像的文本文件:

# 基础镜像
FROM node:18-alpine

# 工作目录
WORKDIR /app

# 复制文件
COPY package*.json ./
RUN npm install

# 复制应用代码
COPY . .

# 暴露端口
EXPOSE 3000

# 启动命令
CMD ["npm", "start"]

构建镜像

docker build -t my-app:latest .

实际应用示例

运行 Web 服务器

# 运行 Nginx
docker run -d -p 8080:80 --name nginx-server nginx

# 访问 http://localhost:8080

运行数据库

# 运行 MySQL
docker run -d \
  --name mysql-server \
  -e MYSQL_ROOT_PASSWORD=password \
  -e MYSQL_DATABASE=myapp \
  -p 3306:3306 \
  mysql:8.0

数据持久化

# 使用数据卷
docker run -d \
  --name mysql-server \
  -v mysql-data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=password \
  mysql:8.0

Docker Compose

Docker Compose 用于定义和运行多容器应用:

version: '3.8'

services:
  web:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db
  
  db:
    image: postgres:14
    environment:
      POSTGRES_PASSWORD: password
    volumes:
      - postgres-data:/var/lib/postgresql/data

volumes:
  postgres-data:

使用 Compose

# 启动服务
docker-compose up -d

# 停止服务
docker-compose down

# 查看日志
docker-compose logs

最佳实践

  1. 使用 .dockerignore:排除不需要的文件
  2. 多阶段构建:减小镜像体积
  3. 使用官方镜像:安全可靠
  4. 合理使用缓存:优化构建速度
  5. 不要以 root 运行:提高安全性

总结

Docker 是现代应用部署的重要工具。掌握 Docker 基础后,可以:

  • 简化开发环境配置
  • 提高应用部署效率
  • 实现微服务架构
  • 优化资源利用

继续学习 Docker 的高级特性,如网络、存储、安全等,将进一步提升你的容器化技能。

© 2026 技术博客. All rights reserved.

分享AI热点、算法学习和Linux等基础知识

加载 SDK...