Docker 入门与实践指南

Docker 入门与实践指南

Docker 是一种开源的容器化平台,可以让开发者将应用和依赖打包到一个轻量级、可移植的容器中,并在任何地方运行。
它的出现彻底改变了软件交付方式,使“在我电脑上能运行”不再成为借口。


1. 为什么要用 Docker?

在传统开发模式中:

  • 不同环境(开发/测试/生产)配置不一致,导致运行失败。
  • 部署一个应用需要安装各种依赖,流程复杂。
  • 迁移到新服务器需要大量环境搭建时间。

Docker 的优势:

  • 环境一致性:应用在容器中运行,不依赖宿主机环境。
  • 快速部署:容器启动速度快,秒级上线。
  • 资源隔离:容器之间互不干扰,安全性高。
  • 可移植性:支持 Linux、Windows、Mac 以及各类云平台。
  • 高效利用资源:相比虚拟机,容器更轻量,占用更少内存。

2. 核心概念

概念作用类比
Image(镜像)应用的只读模板,包含运行环境和代码模板文件
Container(容器)镜像的运行实例,可读写程序副本
Dockerfile定义镜像构建步骤的脚本文件配方
Registry(仓库)存储和分发镜像的服务(如 Docker Hub)应用商店
Volume(数据卷)持久化容器数据的存储机制外接硬盘
Network(网络)让容器之间或与外部通信局域网

3. Docker 架构与工作原理

Docker 由以下组件组成:

  • Docker Client:命令行工具,发送指令给 Docker Daemon。
  • Docker Daemon:后台服务,负责构建、运行和管理容器。
  • Docker Images:运行应用所需的只读模板。
  • Docker Containers:镜像运行起来的实例。
  • Registry:存储镜像的服务,如 Docker Hub 或私有仓库。

运行流程:

  1. 用户通过 docker run 命令启动容器。
  2. Docker Daemon 从本地或远程拉取镜像。
  3. 基于镜像启动一个新的容器。
  4. 容器运行应用并与宿主机进行交互。

4. 安装 Docker

Linux(Ubuntu)

sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker
## 5. 基本命令

```c
bash

# 查看版本
docker version

# 拉取镜像
docker pull nginx:latest

# 运行容器(后台运行)
docker run -d --name my-nginx -p 8080:80 nginx:latest

# 查看运行中的容器
docker ps

# 停止容器
docker stop my-nginx

# 删除容器
docker rm my-nginx

# 删除镜像
docker rmi nginx:latest

6. 使用 Dockerfile 构建镜像

新建 Dockerfile:

dockerfile
# 使用官方 Python 镜像
FROM python:3.11

# 设置工作目录
WORKDIR /app

# 复制当前目录到容器
COPY . /app

# 安装依赖
RUN pip install -r requirements.txt

# 启动应用
CMD ["python", "app.py"]
构建镜像:


docker build -t my-python-app .
运行容器:


docker run -d -p 5000:5000 my-python-app
  1. 数据持久化与网络
    数据卷(Volume)


docker volume create mydata
docker run -d -v mydata:/var/lib/mysql mysql:latest

自定义网络

bash
docker network create mynet
docker run -d --network=mynet --name=app nginx
docker run -d --network=mynet --name=db mysql

8. 多容器编排:Docker Compose

docker-compose.yml 示例:

```bash
yaml

version: "3"
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  db:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: root

启动:



docker-compose up -d

总结

Docker 让应用部署变得快速、可移植、可扩展,是现代 DevOps 的核心工具之一。
建议从简单的容器运行开始,逐步掌握 Dockerfile 编写 和 Compose 编排,最终配合 Kubernetes,实现完整的云原生应用部署流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

evil robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值