蓝戒博客

  • 首页
  • 研发说
  • 架构论
  • 效能录
  • AI谈
  • 随笔集
智构苍穹
融合 AI、架构与工程实践,沉淀方法论,构建可持续的技术价值。
  1. 首页
  2. 研发说
  3. 正文

Docker学习(一):入门教程从基础到实战篇

2026年1月14日 156点热度 0人点赞 0条评论

Docker 是近年来最流行的容器化技术之一,它通过容器(Container)将应用及其依赖打包,实现“一次构建,到处运行”。在开发、测试和部署环节,Docker 都能显著提高效率和一致性。本文将带你从基础概念到常用操作,再到示例配置,快速掌握 Docker 入门技能。


一、Docker 基础概念

1. 容器(Container)

容器是一种轻量级、可移植的虚拟化技术,它包含应用及其所有依赖,但共享宿主机的内核资源。相比传统虚拟机,容器启动更快,占用更少资源。

2. 镜像(Image)

镜像是容器的静态模板,包含应用运行所需的文件和配置。容器是镜像的运行实例。你可以把镜像理解为“快照”,容器则是镜像启动后的运行状态。

3. Docker Engine

Docker Engine 是 Docker 的核心组件,负责管理镜像和容器。它可以在 Windows、macOS 或 Linux 上安装。

4. Docker Hub

Docker Hub 是官方提供的镜像仓库,类似 GitHub,用于存储和分享镜像。你可以直接拉取官方镜像,也可以推送自定义镜像。


二、安装 Docker

Docker 官方提供跨平台安装方式:

  • Windows / macOS:下载 Docker Desktop 安装包并安装
  • Linux:通过包管理器安装 Docker Engine,例如:
Bash
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker

安装完成后,运行:

Bash
docker --version

确认 Docker 正确安装。


三、常用 Docker 命令

1. 镜像操作

命令作用
docker pull <镜像名>拉取镜像
docker images查看本地镜像列表
docker rmi <镜像名>删除镜像

2. 容器操作

命令作用
docker run -it --name mycontainer ubuntu /bin/bash启动一个容器并进入交互模式
docker ps查看运行中的容器
docker ps -a查看所有容器(包括已停止的)
docker stop <容器名>停止容器
docker rm <容器名>删除容器

3. 其他实用命令

Bash
docker logs <容器名>       # 查看容器日志
docker exec -it <容器名> /bin/bash  # 进入正在运行的容器
docker stats                # 查看容器实时资源使用情况

四、Dockerfile 示例

Dockerfile 是定义镜像的文件,通过它可以自定义构建镜像。

示例:创建一个基于 Node.js 的镜像

Dockerfile
# 使用官方 Node 镜像作为基础镜像
FROM node:18

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 安装依赖
RUN npm install

# 复制项目文件
COPY . .

# 容器启动命令
CMD ["node", "index.js"]

# 对外暴露端口
EXPOSE 3000

构建镜像:

Bash
docker build -t my-node-app .

运行容器:

Bash
docker run -p 3000:3000 my-node-app

五、docker-compose.yml 示例

docker-compose 用于定义和管理多容器应用。示例:Node.js + MongoDB

YAML
version: "3.8"
services:
  app:
    build: .
    container_name: my-node-app
    ports:
      - "3000:3000"
    environment:
      - MONGO_URI=mongodb://mongo:27017/mydb
    depends_on:
      - mongo

  mongo:
    image: mongo:6
    container_name: my-mongo
    ports:
      - "27017:27017"
    volumes:
      - mongo-data:/data/db

volumes:
  mongo-data:

启动服务:

Bash
docker-compose up -d

停止服务:

Bash
docker-compose down

六、示例项目结构

my-node-app/
├── Dockerfile
├── docker-compose.yml
├── package.json
├── package-lock.json
└── index.js
  • Dockerfile:定义镜像构建步骤
  • docker-compose.yml:定义多容器服务
  • index.js:应用入口
  • package.json:依赖配置

七、学习小结

  1. Docker 提供轻量化、可移植的容器环境,适合现代应用开发与部署
  2. 镜像和容器是 Docker 的核心概念
  3. Dockerfile 和 docker-compose.yml 是构建和管理容器的关键文件
  4. 常用命令:docker run, docker ps, docker build, docker-compose up 等

八、后续学习方向

  • 学习 Docker 网络和数据卷(Volumes)
  • 深入理解镜像层(Layer)和缓存机制
  • 使用 Docker Swarm 或 Kubernetes 做容器编排
  • 在 CI/CD 流程中集成 Docker

标签: Docker Docker 入门 docker-compose Dockerfile 容器化
最后更新:2026年1月15日

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

最新 热点 随机
最新 热点 随机
一人指挥 AI 程序员军团:OpenAI:Codex App 来了,开发效率或将提升 10 倍 AI 开始雇佣人类?RentAHuman 爆火背后:一场关于「AI 代理经济」的真实实验 大模型巅峰对决:GPT-5.4 Pro 横空出世,Gemini 3.1、Grok 4.2、Claude Opus 4.6 谁才是最强 AI? AI 编程神器 Qoder 专业版免费体验攻略 + QoderWork 全面解析 OpenClaw 太费 Token 的终极解决方案(可省 90%+) Agent 生态分裂:OpenClaw 之外,OpenFang 给出另一条路
基于 Monaco Editor 的 Web Component 智能提示实践Skills Desktop 完全指南:从认识到实践,打造你的 AI 技能中枢不只是聊天机器人:Composio,让 AI 真正“动手干活”AI 智能体框架选型:主流方案对比与建议ChatDev:把 AI 组织成“团队”,帮你把事做完的多智能体平台Codex 国内如何使用与安装?一篇真正能跑通的完整教程
npm 私服包自动化发布脚本实现与最佳实践 bootstrap-datetimepicker日期时间选择插件中文说明 当 Agent 开始“抓虾”:OpenClaw、NanoClaw、ZeroClaw、GoClaw 谁才是未来? JS获取浏览器窗口大小、获取屏幕、浏览器、网页高度宽度方法 jquery对象与js对象的相互转换方法 双因子认证(2FA)的实现方案与最佳实践
最近评论
渔夫 发布于 4 个月前(11月05日) 学到了,感谢博主分享
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8

COPYRIGHT © 2025 蓝戒博客_智构苍穹-专注于大前端领域技术生态. ALL RIGHTS RESERVED.

京ICP备12026697号-2