在开发中,Docker 常用的容器镜像主要包括以下几类:


🔥 1️⃣ 数据库类容器

数据库容器在开发中非常常见,主要用于本地开发、测试和集成环境。

📦 常用镜像:

  • MySQL:关系型数据库
    docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:8.0
    
  • PostgreSQL:关系型数据库
    docker run -d --name postgres -e POSTGRES_PASSWORD=root -p 5432:5432 postgres:14
    
  • MongoDB:NoSQL 文档型数据库
    docker run -d --name mongo -p 27017:27017 mongo:6.0
    
  • Redis:内存缓存数据库
    docker run -d --name redis -p 6379:6379 redis:7
    

📌 ✅ 应用场景:

  • 本地开发和调试数据库,不依赖远程环境
  • 自动化测试环境中的数据库服务
  • 临时数据库验证数据模型

🚀 2️⃣ Web 服务器容器

在 Web 开发中,Docker 经常用于运行 Web 服务器或反向代理。

📦 常用镜像:

  • Nginx:高性能的反向代理服务器
    docker run -d --name nginx -p 80:80 nginx:latest
    
  • Apache HTTPD:常见的 Web 服务器
    docker run -d --name apache -p 8080:80 httpd:2.4
    
  • Caddy:自动 HTTPS 的 Web 服务器
    docker run -d --name caddy -p 80:80 -p 443:443 caddy:latest
    

📌 ✅ 应用场景:

  • 本地运行前端或后端服务
  • 部署静态网站
  • 本地调试 Web API

⚙️ 3️⃣ 开发工具类容器

开发中经常使用的辅助工具或服务容器。

📦 常用镜像:

  • Jaeger:分布式链路追踪
    docker run -d --name jaeger \
      -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
      -p 5775:5775/udp -p 6831:6831/udp \
      -p 6832:6832/udp -p 5778:5778 \
      -p 16686:16686 -p 14268:14268 \
      -p 9411:9411 jaegertracing/all-in-one:1.16
    
  • Grafana + Prometheus:监控与可视化工具
    docker run -d --name grafana -p 3000:3000 grafana/grafana
    docker run -d --name prometheus -p 9090:9090 prom/prometheus
    
  • Elasticsearch + Kibana:日志收集与分析
    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:8.0.0
    docker run -d --name kibana -p 5601:5601 kibana:8.0.0
    
  • MinIO:本地对象存储服务(类似 S3)
    docker run -d --name minio \
      -p 9000:9000 -p 9001:9001 \
      -e "MINIO_ROOT_USER=admin" \
      -e "MINIO_ROOT_PASSWORD=admin123" \
      quay.io/minio/minio server /data --console-address ":9001"
    

📌 ✅ 应用场景:

  • 链路追踪、性能分析
  • 日志收集与监控
  • 本地模拟云存储环境

⚙️ 4️⃣ 编程语言运行环境容器

在开发过程中,可以使用 Docker 运行各种语言的环境,避免在本地安装过多依赖。

📦 常用镜像:

  • Golang
    docker run -it --name go-env golang:1.22 bash
    
  • Node.js
    docker run -it --name node-env node:20 bash
    
  • Python
    docker run -it --name py-env python:3.11 bash
    
  • Java
    docker run -it --name java-env openjdk:21 bash
    

📌 ✅ 应用场景:

  • 不污染本地环境,快速启动编程语言环境
  • 构建、测试、运行程序
  • 在 CI/CD 中构建镜像并运行

🔥 5️⃣ CI/CD 与自动化容器

在持续集成和持续部署(CI/CD)中,经常使用 Docker 容器执行构建、测试和发布任务。

📦 常用镜像:

  • Jenkins:持续集成工具
    docker run -d --name jenkins -p 8080:8080 jenkins/jenkins:lts
    
  • GitLab Runner:GitLab CI/CD 执行器
    docker run -d --name gitlab-runner \
      --restart always \
      -v /srv/gitlab-runner/config:/etc/gitlab-runner \
      gitlab/gitlab-runner:latest
    
  • Drone CI:轻量级 CI/CD 工具
    docker run -d --name drone \
      -p 8080:80 \
      drone/drone:2
    

📌 ✅ 应用场景:

  • CI/CD 管道中的构建、测试和部署
  • 本地测试自动化工具
  • 编写和测试 CI/CD 脚本

🌟 ✅ 总结

在日常开发中,Docker 常用容器主要包括:

  • 📊 数据库类容器:MySQL、PostgreSQL、Redis、MongoDB
  • 🌐 Web 服务类容器:Nginx、Apache、Caddy
  • 🔥 开发工具类容器:Jaeger、Prometheus、Grafana、MinIO
  • 💻 编程语言运行环境:Golang、Node.js、Python、Java
  • 🚀 CI/CD 与自动化工具:Jenkins、GitLab Runner、Drone

💡 💡 小贴士:

  • 如果你想快速启动一组服务,可以使用 docker-compose 编排多个容器。
  • 开发环境中,可以将数据库、服务、监控工具等容器打包在一起运行,简化开发和测试流程。🚀
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐