Мой 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.