当前位置: 首页 > news >正文

[特殊字符] Docker 从入门到实战:全流程教程 + 项目部署指南(含镜像加速)

Docker 是现代 DevOps 的基石,应用广泛于微服务、CI/CD、K8s、云原生等场景。本文将从 0 到 1 手把手带你掌握 Docker 的核心知识点,并完成 Java + Nginx 项目部署,适合新手与进阶开发者阅读与实战。


📚 目录

  1. Docker 快速入门

  2. 入门命令

  3. CentOS7 安装 Docker & Compose

  4. 配置镜像加速器(推荐)

  5. Docker 常用命令速查

  6. 数据卷:持久化数据共享

  7. Dockerfile 编写语法详解

  8. Docker 网络机制

  9. Java + Nginx 项目部署

  10. Docker Compose 使用指南

  11. 总结与推荐


1️⃣ Docker 快速入门

Docker 是一个开源的容器化平台,允许开发者将应用和依赖封装为轻量、可移植的容器,运行在任意平台。

快速测试:

docker run hello-world

输出 Hello from Docker 表示环境配置成功 🎉。


2️⃣ Docker 入门命令

命令含义
docker run启动容器
docker ps查看运行容器
docker ps -a查看所有容器(包括停止的)
docker stop停止容器
docker rm删除容器
docker images查看本地镜像
docker rmi删除镜像
docker exec -it进入容器终端
docker logs查看日志

3️⃣ CentOS7 安装 Docker & Compose

安装 Docker CE

sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
docker version

安装 Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version

4️⃣ 配置镜像加速器(推荐)

解决 Docker 拉取镜像慢或失败的问题。

编辑加速配置:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]
}
EOFsudo systemctl daemon-reexec
sudo systemctl restart docker
docker info | grep Registry

推荐国内加速地址:

  • 阿里云:https://<你的ID>.mirror.aliyuncs.com

  • 网易云:https://hub-mirror.c.163.com

  • 清华大学:https://registry.tuna.tsinghua.edu.cn

  • 中科大:https://docker.mirrors.ustc.edu.cn


5️⃣ Docker 常用命令速查

docker build -t myapp .           # 构建镜像
docker run -d --name app myapp    # 运行容器
docker stop/start app             # 启动/停止
docker logs -f app                # 查看日志
docker exec -it app /bin/bash     # 进入容器终端
docker system prune               # 清理所有无用资源

6️⃣ Docker 数据卷:持久化数据共享

方式一:绑定宿主机目录

docker run -v /host/data:/app/data myapp

方式二:命名卷

docker volume create mydata
docker run -v mydata:/app/data myapp

查看数据卷:

docker volume ls

7️⃣ Dockerfile 语法详解

Dockerfile 是构建镜像的核心文件。

常见指令:

指令功能说明
FROM指定基础镜像
WORKDIR设置工作目录
COPY拷贝文件到镜像
RUN构建时执行命令
CMD默认启动命令
ENTRYPOINT容器入口
EXPOSE声明端口
ENV环境变量

示例 Dockerfile(Java 项目)

FROM openjdk:17
WORKDIR /app
COPY target/myapp.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

构建并运行:

docker build -t my-java-app .
docker run -d -p 8080:8080 my-java-app

8️⃣ Docker 网络机制

Docker 支持多种网络模式:

模式说明
bridge默认网络,容器间通信
host容器共享宿主机网络
none无网络

自定义网络

docker network create mynet
docker run --network mynet --name app myapp

9️⃣ Java + Nginx 项目部署

1️⃣ Nginx 容器

docker run -d --name nginx \-p 80:80 \-v /my/nginx.conf:/etc/nginx/nginx.conf:ro \nginx:latest

2️⃣ Java 容器

docker run -d --name java-app \--network mynet \-p 8080:8080 \my-java-app

🔟 Docker Compose 使用指南

用于管理多个容器的编排工具。

示例 docker-compose.yml

version: "3.9"
services:java:build: .ports:- "8080:8080"networks:- appnetnginx:image: nginxports:- "80:80"volumes:- ./nginx.conf:/etc/nginx/nginx.conf:ronetworks:- appnetnetworks:appnet:

常用命令

docker-compose up -d        # 启动服务
docker-compose down         # 停止并清理
docker-compose logs -f      # 实时日志
docker-compose exec java bash

🔚 11. 总结与推荐

本文涵盖了:

✅ Docker 安装与镜像加速配置
✅ 镜像构建与容器运行命令
✅ Dockerfile 语法 + 数据卷 + 网络
✅ Java + Nginx 容器化部署
✅ Docker Compose 多容器协同管理

💡 Docker 是现代云原生开发与部署的必备技能,建议结合实际项目反复实践加深理解。

相关文章:

  • uniapp-商城-38-shop 购物车 选好了 进行订单确认4 配送方式1
  • C++23 新特性深度落地与最佳实践
  • 79. 单词搜索
  • 图论---染色法(判断是否为二分图)
  • 深入解析 SMB 相关命令:smbmap、smbclient、netexec 等工具的使用指南
  • Python爬虫实战:获取网yi新闻网财经信息并做数据分析,以供选股做参考
  • 基于51单片机的超声波液位测量与控制系统
  • PMIC PCA9450 硬件原理全解析:为 i.MX 8M 平台供电的“大脑”
  • 23种设计模式-行为型模式之责任链模式(Java版本)
  • 4/24杂想
  • 30分钟算法题完成
  • 使用命令行加密混淆C#程序
  • python中的logging库详细解析
  • AI超级智能体教程(三)---程序调用AI大模型的四种方式(SpringAI+LangChain4j+SDK+HTTP)
  • 二项式分布html实验
  • Low Poly 风格 | 飞机飞行可视化系统
  • 【计算机视觉】CV实战- 深入解析基于HOG+SVM的行人检测系统:Pedestrian Detection
  • 深入解析Mlivus Cloud核心架构:rootcoord组件的最佳实践与调优指南
  • 防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战
  • 软测面经(私)
  • “爱泼斯坦案”关键证人弗吉尼亚·朱弗雷自杀身亡
  • 铜钴巨头洛阳钼业一季度净利润同比大增九成,最新宣布首度进军黄金矿产
  • 最新研究挑战男性主导说:雌性倭黑猩猩联盟对付雄性攻击,获得主导地位
  • 今年一季度上海离境退税商品销售额7.6亿元,同比增85%
  • 山东一季度GDP为23466亿元,同比增长6.0%
  • 第四届全民阅读大会·阅读权益保障论坛举办