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
相关产品推荐
相关产品推荐

