使用Docker API挂载卷

Rom*_*ikh 4 docker

我有一个使用Docker API控制的Docker主机,就像这样.

我可以非常轻松地使用此API创建新卷和新容器.

但是,如何仅使用API​​创建新容器并将此卷装载到此容器?

Fon*_*lis 6

您可以volume1使用HostConfig创建请求中的先前创建的卷(假设)将其装入容器.HostConfig您可以在其中指定Mounts要创建的坐标().

A Mount会像:

{
   "Target":   "path/in/the/container",
   "Source":   "volumeName",
   "Type":     "volume", 
   "ReadOnly": false
}
Run Code Online (Sandbox Code Playgroud)

因此,您应该添加到创建请求的信息是下一个:

"HostConfig": {
    "Mounts": [
        {
           "Target":   "path/in/the/container",
           "Source":   "volume1",
           "Type":     "volume", 
           "ReadOnly": false
        }
     ]
}
Run Code Online (Sandbox Code Playgroud)

我还建议您从Docker深入了解本文档.你可以在那里找到很多有用的信息.

https://docs.docker.com/engine/api/v1.27/#operation/ContainerCreate