有没有用过 Docker Engine API 的弟兄~问一个小问题

发布于 2022-09-12 03:20:00 字数 393 浏览 16 评论 0

https://docs.docker.com/engine/api/v1.40/#

POST /containers/create 这个 api 的入参有个 [ Volumes ] 字段

Volumes

An object mapping mount point paths inside the container to empty objects.

想问下这个 Volumes 啥意思,把我看迷糊了,我以为是把 host 路径映射到 container 路径的 map,试了一下发现不是啊。那这个是啥?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

停滞 2022-09-19 03:20:00

Volumes 这里指的是 Docker的Volumes 方式,而不是 bind mounts方式。

Docker 数据管理的三种方式:Docker数据管理-Volume,-bind-mount和tmpfs-moun

你设置并启动docker start xx后,可以 docker inspect xx 查看:

 "Mounts": [
            {
                "Type": "volume",
                "Name": "84829294580aff39ea679320242b0e8c9f9c0d260415fe11d7595f1e3da5aed7",
                "Source": "/var/lib/docker/volumes/84829294580aff39ea679320242b0e8c9f9c0d260415fe11d7595f1e3da5aed7/_data",
                "Destination": "/var/log",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],

可以看到Volumes的用途。

附上我的 请求报文:

{
    "Image":"tomcat:9",
    "Volumes": {
        "/var/log": { }
    },
    "ExposedPorts": {
        "8080/tcp": {}
    },
    "HostConfig": {
        "PortBindings": {
            "8080/tcp": [
                {
                    "HostPort": "8080" 
                }
            ]
        }
    }
}

如果需要 bind mounts方式,则配置 HTTP 报文中 HostConfig 下面的 Binds,自行参考 Docker engine API。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文