首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将docker命令转换为json文件?

如何将docker命令转换为json文件?
EN

Stack Overflow用户
提问于 2015-05-15 15:30:21
回答 1查看 2.7K关注 0票数 1

我想知道是否有人知道如何创建与运行相同的json文件:

docker run -p 80:80 -p 443:443星形叶片/pydio-v4

我尝试了一些非常雄心勃勃的东西,我想在kubernetes-mesos集群中启动我的对接容器,但是似乎无法在json文件中得到正确的端口,唉,我对此仍然非常陌生。

谢谢,TT

这是我的json文件:

`

代码语言:javascript
复制
{
"id": "frontend-controller",
"kind": "ReplicationController",
"apiVersion": "v1beta1",
"desiredState": {
"replicas": 3,
"replicaSelector": {"name": "frontend"},
"podTemplate": {
"desiredState": {
"manifest": {
"version": "v1beta1",
"id": "frontend-controller",
"containers": [{
"name": "pydio-v4",
"image": "starblade/pydio-v4",
"ports": [{"containerPort": 10001, "protocol": "TCP"}]
}]
}
},
"labels": {"name": "frontend"}
}},
"labels": {"name": "frontend"}
}
代码语言:javascript
复制
{
"id": "frontend",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 80,
"port": 443,
"targetPort": 10001,
"selector": {
"name": "frontend"
},
"publicIPs": [
"${servicehost}"
]
}

Docker container Env info pulled from docker inspect command:

代码语言:javascript
复制
"Env": [
"FRONTEND_SERVICE_HOST=10.10.10.14",
"FRONTEND_SERVICE_PORT=443",
"FRONTEND_PORT=tcp://10.10.10.14:443",
"FRONTEND_PORT_443_TCP=tcp://10.10.10.14:443",
"FRONTEND_PORT_443_TCP_PROTO=tcp",
"FRONTEND_PORT_443_TCP_PORT=443",
"FRONTEND_PORT_443_TCP_ADDR=10.10.10.14",
"KUBERNETES_SERVICE_HOST=10.10.10.2",
"KUBERNETES_SERVICE_PORT=443",
"KUBERNETES_PORT=tcp://10.10.10.2:443",
"KUBERNETES_PORT_443_TCP=tcp://10.10.10.2:443",
"KUBERNETES_PORT_443_TCP_PROTO=tcp",
"KUBERNETES_PORT_443_TCP_PORT=443",
"KUBERNETES_PORT_443_TCP_ADDR=10.10.10.2",
"KUBERNETES_RO_SERVICE_HOST=10.10.10.1",
"KUBERNETES_RO_SERVICE_PORT=80",
"KUBERNETES_RO_PORT=tcp://10.10.10.1:80",
"KUBERNETES_RO_PORT_80_TCP=tcp://10.10.10.1:80",
"KUBERNETES_RO_PORT_80_TCP_PROTO=tcp",
"KUBERNETES_RO_PORT_80_TCP_PORT=80",
"KUBERNETES_RO_PORT_80_TCP_ADDR=10.10.10.1",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PYDIO_VERSION=6.0.5"
],
"ExposedPorts": {
"443/tcp": {},
"80/tcp": {}
},

`

吊舱和服务都启动和运行正常。

然而,我无法访问运行的Pydio网站上的任何一个主,仆从或前端ips。

注意:我正在运行这个停靠容器的修改版本:

https://registry.hub.docker.com/u/kdelfour/pydio-docker/

我的容器已经过测试,并按预期运行。当登录屏幕运行时,您应该会看到它。

如果我能提供任何其他信息,请告诉我。

再次感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-19 15:42:35

因此,我最终使用以下.json文件使其工作:

frontend-service.json

代码语言:javascript
复制
    {
  "id": "frontend",
  "kind": "Service",
  "apiVersion": "v1beta1",
  "port": 443,
  "selector": {
    "name": "frontend"
  },
  "publicIPs": [
    "${servicehost}"
  ]
}

frontend-controller.json

代码语言:javascript
复制
{
  "id": "frontend-controller",
  "kind": "ReplicationController",
  "apiVersion": "v1beta1",
  "desiredState": {
    "replicas": 1,
    "replicaSelector": {"name": "frontend"},
    "podTemplate": {
      "desiredState": {
         "manifest": {
           "version": "v1beta1",
           "id": "frontend-controller",
           "containers": [{
             "name": "pydio-v4",
             "image": "starblade/pydio-v4",
             "ports": [{"containerPort": 443, "hostPort": 31000}]
           }]
         }
       },
       "labels": {"name": "frontend"}
      }},
  "labels": {"name": "frontend"}
}

现在,我在GCE上的Mesos-Kubernetes env中运行了带有SSL的pydio。

使用更多的hostPorts运行一些测试,看看是否能够在一个主机上运行多个副本。在这一点上,我可以调整到3。

希望这能帮上忙。

谢谢,TT

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30263357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档