You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose volumes中的双冒号有什么作用?

问题:Docker Compose卷配置中的双冒号作用?

我在查看Keycloak的GitHub问题时,发现其给出的Docker Compose配置示例里,卷字段带有两个冒号:

keycloak:
  image: "quay.io/keycloak/keycloak:16.1.1"
  environment:
    - KEYCLOAK_IMPORT=/tmp/realm.json
  volumes:
    - ./realm.json:/tmp/realm.json:ro

我知道单冒号是用来分隔主机路径和容器路径的,但在Docker Compose文档里没找到双冒号的相关说明,想请教这里的双冒号具体作用是什么?

解答

你看到的不是“双冒号”的特殊语法,而是Docker卷挂载的三段式格式:[主机路径]:[容器内路径]:[挂载权限]。

这里的两个冒号只是用来分隔三个不同的配置项:

  • ./realm.json:主机上的文件路径
  • /tmp/realm.json:容器内的目标路径
  • ro:表示这个挂载是**只读(read-only)**模式,容器内只能读取该文件,无法修改它

这种三段式格式是Docker挂载绑定卷时的标准用法,只是因为三个字段用冒号分隔,所以看起来出现了连续的两个冒号。

内容的提问来源于stack exchange,提问作者Duskendale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:33:10