对于很多刚刚接触 Docker 或者习惯了命令行的开发者来说,管理那些越来越长的 docker run 启动命令简直是一场噩梦。

你是否也遇到过这些情况:

如果你被这些问题困扰,那么 Docker Compose 就是你的救星,而我们提供的在线转换工具能帮你一键解决烦恼。

为什么要用 Docker Compose?

docker run 命令是命令式的(Imperative),你敲什么它执行什么,执行完就“随风而去”了,很难复用和版本控制。

Docker Compose 是声明式的(Declarative)。你把想要的服务状态写在 docker-compose.yml 文件里:

  1. 可读性强:结构清晰,参数一目了然。
  2. 版本控制:YAML 文件可以提交到 Git 仓库,变更历史有迹可循。
  3. 一键启动:无论在哪里,只需 docker-compose up -d,服务就能完美复现。

实战:如何 3 秒完成转换?

我们内置了强大的转换引擎,你甚至不需要懂 YAML 语法。

场景演示:部署一个 Nginx

假设你有一条很长的启动命令:

BASH
docker run -d \
  --name web-server \
  -p 8080:80 \
  -v /var/www/html:/usr/share/nginx/html \
  --restart always \
  nginx:latest
点击展开查看更多

操作步骤:

  1. 复制上面那段 docker run 命令。
  2. 点击 Docker Run 转 Docker Compose 进入工具。
  3. 将命令粘贴到左侧输入框。
  4. 右侧会自动生成如下的标准 YAML:
YAML
version: '3.3'
services:
    nginx:
        container_name: web-server
        ports:
            - '8080:80'
        volumes:
            - '/var/www/html:/usr/share/nginx/html'
        restart: always
        image: 'nginx:latest'
点击展开查看更多

就是这么简单!现在你可以直接把右侧的代码保存为 docker-compose.yml,然后执行 docker-compose up -d 即可。

进阶技巧

版权声明

作者: Hugo Narrow

链接: https://blog.888467.xyz/posts/docker-run-to-compose/

许可证: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please attribute the source, use non-commercially, and maintain the same license.

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键