docker - Docker API V1.40 如何创建服务并将其连接到 swarm 覆盖网络以与其他堆栈点进行通信
问题描述
场景是:
我已经有一个 swarm 中的 docker 堆栈,覆盖网络名称是 xxx_default(xxx 是堆栈的名称),我想创建一个新服务并让它与堆栈中的其他服务通信。从命令行这个任务非常简单:
docker service create --name test_web --network xxx_default nginx:alpine
问题是我想通过在 swarm manager 节点上启用的 DOCKER API ENGINE 创建此服务。在 API 参考网站中没有关于如何将服务附加到网络的内容。
谁知道我怎么能通过 API 做到这一点?
解决方案
好的,由于 Docker API 参考网站崩溃并且不允许您打开折叠的属性,您应该下载 API Json Swagger 文件并在您的系统上观看,我通过这种方式找到了答案:
{
"Name": "web",
"TaskTemplate": {
"ContainerSpec": {
"Image": "nginx:alpine"
},
"Placement": {},
"Resources": {
"Limits": {
"MemoryBytes": 104857600
},
"Reservations": {}
}
},
"Mode": {
"Replicated": {
"Replicas": 1
}
},
"EndpointSpec": {
"Ports": [
{
"Protocol": "tcp",
"PublishedPort": 8080,
"TargetPort": 80
}
]
},
"Networks": [
{
"Target": "xphic8cb0trx" **<-- it can be name or id of a network**
}
]
}
推荐阅读
- json - 如何在 servlet 中读取 json 值?
- python - 如何使用python绘制多个子图
- swift - 如何通知一个目标的获取结果控制器另一个目标的托管对象上下文中发生的更改?
- c# - 是否可以在 HTML 帮助器方法中确定 ASP.NET Core 托管环境?
- php - 如何从单选按钮中一一提交选择的答案
- linux - 构建一个查找目录中所有文件的 UNIX 管道(使用 find 、xargs 和 du 命令)
- c# - 仅在存在时选择类相关数据
- android - 使用 Retrofit 和 OkHttp 显示没有 Internet 连接对话框
- ionic-framework - 从 Firestore 数据创建单选按钮警报
- amazon-web-services - AWS 签名 URL 问题