dpgbh20688 2018-01-26 22:00
浏览 87
已采纳

在GoLang Docker SDK中定义卷的安装点

I am currently trying to create a Docker container using the official GoLang Docker SDK and am trying to mount a volume from my localhost to the docker container.

vol := map[string]struct{}{"/pathInDocker":{}}

// This was prepared using example at:
//https://docs.docker.com/develop/sdk/examples/#run-a-container
res, err := cli.ContainerCreate(ctx, &container.Config{
    Image: testImageName,
    Volumes: vol,
    Cmd: []string{"ls", "/"},
}, nil, nil, "")

This works at creating the container and adding the "/pathInDocker" to the docker container, however, I cannot figure out how to add the mount point for the localhost.

I have tried the following possible values for the vol variable

vol := map[string]struct{}{"localPath:/pathInDocker":{}}
vol := map[string]struct{}{"\"localPath\":\"/pathInDocker\"":{}}

And for each of these the resulting docker container attempts to mount the map key as the folder in docker with not mount point for localhost.

I've dug through the docs and the only line I can seem to find talking about how to configure volumes at all is this one:

Volumes         map[string]struct{} // List of volumes (mounts) used for the container

So my question is how to configure this so it mounts a local folder to the volume?

  • 写回答

1条回答 默认 最新

  • dpt1712 2018-01-27 05:34
    关注

    If you want to use bind mounts, you need to provide your mount information in HostConfig.

    res, err := client.ContainerCreate(
        ctx,
        &container.Config{
            Image: "nginx",
            Cmd:   []string{"ls", "/"},
        },
        &container.HostConfig{
            Mounts: []mount.Mount{
                {
                    Type:   mount.TypeBind,
                    Source: "/localPath",
                    Target: "/pathInDocker",
                },
            },
        },
        nil,
        "",
    )
    

    And if you want to use volume, 1st you need to create a volume with mount path, then you need to use this volume name as Source.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化