如何将docker run命令转换成json文件?
我想知道如果有人知道如何创build一个json文件,就像运行一样:
docker运行-p 80:80 -p 443:443 starblade / pydio-v4
我尝试了一些非常雄心勃勃的工作,我想在kubernetes-mesos集群中启动我的docker容器,但似乎无法在json文件中获得正确的端口,唉,对此我还是很新的。
谢谢,TT
这里是我的JSON文件:
`
{ "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"} }
{ "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:
"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": {} },
`
吊舱和服务都启动并运行正常。
但是,我无法访问任何master,minion或前端ips上正在运行的Pydio站点。
注意:我正在运行该docker容器的修改版本:
https://registry.hub.docker.com/u/kdelfour/pydio-docker/
我的容器已经过testing,并按预期运行。 一旦运行,您应该看到login屏幕。
请让我知道,如果我可以提供任何其他信息。
再次感谢。
所以,我终于得到这个工作使用下面的.json文件:
前端-service.json
{ "id": "frontend", "kind": "Service", "apiVersion": "v1beta1", "port": 443, "selector": { "name": "frontend" }, "publicIPs": [ "${servicehost}" ] }
前端-controller.json
{ "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来运行一些testing,看看是否可以在一台主机上运行多个副本。 在这一点上,我可以调整到3。
希望这有助于某人。
谢谢,TT