相关疑难解决方法(0)

Docker挂载到文件夹覆盖内容

我有一个.net Core web Api,在名为Config的文件夹下有配置文件.我创建了图像和一个容器,我正确地看到使用终端,容器包含文件夹和里面的配置文件.

我的问题是,到目前为止,我无法找到一种方法来创建相同的容器装载/绑定Config文件夹到物理路径,遵循要求:

1)将Config文件夹挂载到特定主机位置

2)在容器创建时,Config文件夹应填充图像中的文件

3)在容器创建时,覆盖文件夹中已存在的任何现有文件与图像中的文件

4)能够从主机自定义文件夹中的配置文件

我的创建命令:

    docker --tls -H="$containerUrl" `
        create `
        --hostname $hostname `
        --name $containerName `
        --mac-address=$containerMacAddress `
        --ip $containerIpAddress `
        --net "bridged-network" `
        --workdir '/app' `
        --mount type=bind,src=$configVolumePath,target=/app/Config `
        --publish "0.0.0.0::80" `
        -t `
        -i $imageName":"$script:buildversion    
Run Code Online (Sandbox Code Playgroud)

如文档中所指定的那样,使用带有类型bind的--mount,如果文件夹中有任何文件,则从容器中隐藏这些文件,应用程序将看到已部署的文件. 此解决方案的问题是我无法从主机更新config文件夹中的文件.

现在,删除type = bind我得到相同的结果,这是令人困惑的.

我尝试使用volume --volume $ configVolumePath":/ app/Config:rw",但这样做不会覆盖主机目录中的预先存在的文件,这些文件将在容器中使用.

附加说明,我没有在Dockerfile中指定任何内容或与卷安装相关的组合,我没有尝试创建一个卷然后将其用作源,但我不认为这会产生影响.

容器服务器在NAS上运行,这是版本:

 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   781516c
 Built:        Thu Aug  3 16:04:05 2017
 OS/Arch:      linux/amd64 …
Run Code Online (Sandbox Code Playgroud)

mount volume docker

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×1

mount ×1

volume ×1