развернуть работающий докер во внешнем IP (хосте VM) - PullRequest
0 голосов
/ 08 июля 2019

Мой API не может быть опубликован по определенному IP-адресу (хосту VM) при использовании docker

Сначала я запускаю файл в терминале: Rscript run.R

Это работает нормально,мой API работает и работает по IP-адресу http://35.157.131.3:8000/swagger/.После этого я хотел бы развернуть его с помощью докера:

docker run --rm -p 8000:8000 --expose 8000 -d --name diemdiem trestletech/plumber

Это показало, что файл успешно подключен, однако, когда я перешел по ссылке API, http://35.157.131.3:8000/swagger/ показал ошибку 404.

После прочтения документации докера я создал контейнерную сеть, в которой указан IP-адрес хоста, на котором я хочу, чтобы контейнер докера работал:

-o "com.docker.network.bridge.host_binding_ipv4"="35.157.131.3" \
simple-network````

then, i connect the running diemdiem container to simple-network:

``` docker network connect simple-network diemdiem```
I inspect to see whether the container is connected or not:
```docker network inspect simple-network```
The result is: 

[
    {
        "Name": "simple-network",
        "Id": "95ec0c55aeb984952459edda2d4d0bb7c9eea71824e6cec184b7c61d2e807e7b",
        "Created": "2019-07-08T17:30:23.709654207Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.21.0.0/16",
                    "Gateway": "172.21.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "c83125bf68a89aebda3effe28ebee4d6323657e1427cf08fd3d63b6e411f8448": {
                "Name": "diemdiem",
                "EndpointID": "7fab3354e051dc81ef798bd86c19361f6a721b578237b3a3695cb415b1aee2e4",
                "MacAddress": "02:42:ac:15:00:02",
                "IPv4Address": "172.21.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.host_binding_ipv4": "35.157.131.3"
        },
        "Labels": {}
    }
]

The final API is still not up and running in the ip address which i specified. I appreciate your advice.
...