Docker一些意想不到的用法

4 阅读2分钟

Docker 除了“部署服务”这个主流用途,其实还有很多“意想不到”的用法,非常灵活且有趣,以下是一些 Docker 的另类打开方式:


1️⃣ 本地开发环境秒搭

  • 想测试 Redis、MySQL、PostgreSQL、不想安装?直接 docker run 一句搞定
  • 多版本共存(比如同时跑 MySQL5.7 和 MySQL8)

2️⃣ 临时 Linux 沙箱 / 小型实验室

  • 想试 Linux 指令、调试 shell 脚本、运行 Python / Java?
  • 直接 docker run -it ubuntu bash,分分钟开一个干净环境,搞完就 docker rm

3️⃣ 本地化 CI/CD 流水线模拟

  • 不用搭 Jenkins,直接 Docker Compose 配好:

    • Jenkins + Gitlab + SonarQube + Nexus 全家桶,
    • 在自己电脑上就可以模拟 CI/CD 流程

4️⃣ 打造自己的“镜像化”办公环境

  • 你可以把常用的开发工具、SDK、调试工具都装在 Docker 镜像里

  • 换电脑、重装系统?

    • 直接拉镜像,环境 1 分钟恢复!

5️⃣ 远程执行器 / 私人“服务器”

  • 用 Docker 容器当作运行 Python、Go、Java 程序的远程执行器
  • 比如接收到 webhook 自动拉代码、运行容器、返回结果
  • 甚至可以做“定时任务”容器(代替 cron)

6️⃣ 构建 Web IDE

  • 借助 coder.com 或 Theia,把 Docker 容器作为云端开发环境
  • 打开浏览器就是你的开发机

7️⃣ 制作定制化 CLI 工具镜像

  • 例如把 curl + jq + git + aws-cli 都打包在一个 Docker 镜像里

  • 本地什么都不用装,

    alias mycli="docker run --rm -it custom-cli"
    
  • 随时调用,永不污染本机

8️⃣ 快速跑前端项目

  • 想临时预览静态网页?

    docker run -d -p 8080:80 -v $PWD:/usr/share/nginx/html nginx
    
  • 马上用浏览器访问本地 8080

9️⃣ 用 Docker 来打包桌面应用(例如 VSCode 的 Remote Container 模式)

  • 你的 IDE 打开项目时直接连接容器,容器就是你的运行环境
  • 程序跑在哪里不重要,IDE 本地编码、容器远程运行,环境干净、复现性超强

1️⃣0️⃣ 作为学习工具

  • 想学 Kafka、Elasticsearch、Hadoop、Kubernetes、RabbitMQ?
  • 你甚至不用下载大安装包,docker-compose 一键起环境,随时学随时删