找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 28|回复: 0

Docker Compose 服务配置 转换为 docker run 详解

[复制链接]

1

主题

10

回帖

146

积分

管理员

积分
146
发表于 2025-10-15 00:48:21 | 显示全部楼层 |阅读模式

Docker Compose 服务配置 转换为 docker run 详解(以 dockercopilot 为例)

在 Docker 中,可以使用 Docker Compose 或 docker run 命令行 来运行服务。本文将以 dockercopilot 容器为例,详细讲解如何将一份 docker-compose.yml 配置文件转换为相应的 docker run 命令,并解释每一部分内容的作用和区别。


🦋 一、原始 Docker Compose 配置(YAML 格式)

services:  dockercopilot:    container_name: dockercopilot    restart: always    privileged: true    network_mode: bridge    ports:      - 12712:12712    volumes:      - /var/run/docker.sock:/var/run/docker.sock      - /volume1/docker/dockercopilot/:/data    environment:      - TZ=Asia/Shanghai      - DOCKER_HOST=unix:///var/run/docker.sock      - secretKey=lenghanyue    image: 0nlylty/dockercopilot:latest

🔁 二、等价的 docker run 命令

下面是等同于上述 Docker Compose 配置的 docker run 命令:

docker pull 0nlylty/dockercopilot:latestdocker run -d --restart=always \  -p 12712:12712 \  -v /var/run/docker.sock:/var/run/docker.sock \  -v /volume1/docker/dockercopilot/data:/data \  -e TZ=Asia/Shanghai \  -e DOCKER_HOST=unix:///var/run/docker.sock \  -e secretKey=lenghanyue \  --privileged \  --name dockercopilot \  0nlylty/dockercopilot:latest

📋 三、配置项详解

项目Docker Compose 写法docker run 写法说明
服务名 / 容器名services: dockercopilot
container_name: dockercopilot
--name dockercopilot在 Docker Compose 中是服务名,而在docker run 中通过--name 指定容器名。
重启策略restart: always--restart=always设置容器在退出或系统重启后始终重启。
特权模式privileged: true--privileged容器可对宿主机具有高权限,用于系统级操作。
网络模式network_mode: bridge默认隐式等同于 bridge 模式桥接网络允许容器与其他容器隔离通信;如果需要使用宿主机网络,则可用--network host。
端口映射ports: - 12712:12712-p 12712:12712映射宿主机端口 12712 到容器端口 12712,访问地址如http://localhost:12712
挂载卷volumes: - /var/run/docker.sock:/var/run/docker.sock
- /volume1/docker/dockercopilot/data:/data
-v /var/run/docker.sock:/var/run/docker.sock
-v /volume1/docker/dockercopilot/data:/data
挂载 Docker 守护进程套接字用于管理宿主机 Docker;当前目录下的data 挂载是为了持久化数据。
环境变量environment:
TZ=Asia/Shanghai
DOCKER_HOST=...
secretKey=lenghanyue
-e TZ=Asia/Shanghai
-e DOCKER_HOST=...
-e secretKey=lenghanyue
设置容器内的时区、Docker 连接方式以及用于安全验证的密钥。
镜像image: 0nlylty/dockercopilot:latest写在最后:0nlylty/dockercopilot:latest指定使用的镜像及标签版本。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站由纳斯五零(NAS50.CN),版权所有,保留部分权利。豫ICP备2023035803号-1

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-10-24 05:28 , Processed in 0.096730 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.