簡體   English   中英

如何使用docker-compose將localhost卷掛載到docker容器

[英]how to mount localhost volume to a docker container using docker-compose

我正在使用Windows 7企業版

Docker Client version:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 17:00:50 2016
 OS/Arch:      windows/amd64

Docker Server version:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      linux/amd64

docker-compose version:
docker-compose version 1.9.0, build 2585387
docker-py version: 1.10.6
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2h  3 May 2016

在Windows上使用docker工具箱時,我無法弄清楚如何在docker-compose.yml文件中安裝卷。

下面是docker-compose.yml文件。

version: '2'
services:
    myapp:
        build:
           context: .
           args:
               ADMIN_PASS= welcome1
        ports:
         - "7001:8001"
        volumes:
         - "/C/myapp/gradleBuild/myappEar/libs:/myappEar"

當我運行docker-compose up下面是我得到的錯誤

ERROR: for myapp Cannot create container for service myapp: create \C\myapp\gradleBuild\myappEar\libs: "\\C\\myapp\\gradleBuild\\myappEar\\libs" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed
←[31mERROR←[0m: Encountered errors while bringing up the project. 

當我將卷部分更改為

volumes:
   - "/c/myapp/gradleBuild/myappEar/libs:/myappEar"

它會拋出同樣的錯誤

當我最終將音量部分更改為

volumes:
  - "C:/myapp/gradleBuild/myappEar/libs:/myappEar" 

它拋出以下錯誤

ERROR: for myapp Cannot create container for service myapp: Invalid bind mount spec "C:\\myapp\\gradleBuild\\myappEar\\libs:/myappEar:rw": Invalid volume specification: 'C:/myapp/gradleBuild/myappEar/libs:/myappEar:rw'
←[31mERROR←[0m: Encountered errors while bringing up the project.

有人可以幫我解決這個問題嗎?

提前致謝。

請注意,如果您使用的是docker工具箱 (通過VirtualBox VM表示/c/users/mylogin ),則默認情況下只有/c/users/mylogin可用。
如果路徑不包含c:\\Users\\myLogin則需要聲明其他安裝位置

您只能通過Windows 10上的HyperV VM訪問更多的C驅動器(由於您使用的是Windows 7,因此您沒有)。

在docker-compose圖像中,您已按如下方式裝入卷:

卷: - “/ C / myapp / gradleBuild / myappEar / libs:/ myappEar”

在Windows上,提到使用以下格式安裝docker卷:

c:\<path>:/c:\<container path>

更多信息可以在這里找到

暫無
暫無

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

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