簡體   English   中英

如何使主機上的 docker 卷位置相對於工作目錄?

[英]How to make docker volume locations on the host relative to working directory?

我有一個這樣的工作樹:

├── docker-compose.yml
├── folder1
│   ├── docker-compose.yml
│   └── volume1
│       └── source
└── volume
    └── source

根 docker-compose.yml:

version: "3.4"

services:
    service:
        image: hello-world
        volumes:
            - ./volume/source:/volume/destination
        command: sleep 180

folder1/docker-compose.yml:

version: "3.4"

services:
    service1:
        image: hello-world
        volumes:
            - ${PWD}/volume1/source:/volume1/destination
        command:
            - sleep 180

當我從根目錄docker-compose -f docker-compose.yml -f folder1/docker-compose.yml config時,我得到

services:
  service:
    command: sleep 180
    image: hello-world
    volumes:
    - /home/user/repos/learn/dockerl-compose/volume/source:/volume/destination:rw
  service1:
    command:
    - sleep 180
    image: hello-world
    volumes:
    - /home/user/repos/learn/dockerl-compose/volume1/source:/volume1/destination:rw
version: '3.4'

如何使主機上綁定安裝的位置相對於執行命令的位置?

你應該先寫一個這樣的腳本:

#!/bin/bash

SCRIPT_PATH=$(readlink -f $(dirname $0))
SCRIPT_PATH=${SCRIPT_PATH} docker-compose <YOUR_OWN_ARGUMENTS>

然后,在您的YAML中,您應該將${PWD}替換為${SCRIPT_PATH}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM