Я развертываю приложение Angular - Django на капле Digital Ocean.Он состоит из 3 контейнеров Docker:
- cards_front: угловой интерфейс
- cards_api: серверная часть остального фреймворка django
- cards_db: база данных postgres
Все они находятся в одной сети:
[
{
"Name": "ivan_cards_api_network",
"Id": "ddbd3524e02a7c918f6e09851731e015fdb7e8647358c5ed0c4cd949cf651fd9",
"Created": "2018-10-09T23:44:33.293036243Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.22.0.0/16",
"Gateway": "172.22.0.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"0d3144b27eaf6d7320357b6d703566e489f672b09b61dba0caf311c6e1c4711c": {
"Name": "cards_front",
"EndpointID": "47b1f8f42c4d18afeafeb9da502fd0197e726f29bd6d3d3c2960b44737bd579a",
"MacAddress": "02:42:ac:16:00:04",
"IPv4Address": "172.22.0.4/16",
"IPv6Address": ""
},
"3e9233f4bfc023632aaf13a146d1a50f75b4944503d9f226cf81140e92ccb532": {
"Name": "cards_api",
"EndpointID": "34d4780dc6f907a8cb9621223d6effe0a0aac1662d5272ae4a5104ba7f3808c4",
"MacAddress": "02:42:ac:16:00:03",
"IPv4Address": "172.22.0.3/16",
"IPv6Address": ""
},
"e5e208a20523c2d41433b850dc64db175de8ee7d0d156e2917c12fd8ebdf97ab": {
"Name": "cards_db",
"EndpointID": "8a8f44bbcdf2f95e716e2763e33bed31e1d2bdbfae7f6d78c8dee33de426a7ef",
"MacAddress": "02:42:ac:16:00:02",
"IPv4Address": "172.22.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {
"com.docker.compose.network": "cards_api_network",
"com.docker.compose.project": "ivan",
"com.docker.compose.version": "1.22.0"
}
}
ALLOWED_HOSTS в настройках django имеет значение ['*']
Когда я тестирую угловой фронт- в браузере я получаю инструменты разработчика Chrome:
GET http://localhost:8000/themes net::ERR_CONNECTION_RESET
Итак, контейнер Angular не может связаться с контейнером django.
Но если я сделаю curl localhost: 8000/ themes изнутри капли DO Я получаю ответ.
Я знаю, что что-то не хватает в конфигурации сети, но я не могу понять, что это такое.
Спасибо
РЕДАКТИРОВАТЬ:
Если я сделаю завиток из контейнера Angular в контейнер Django, я получу ответ (пустой массив):
root@90cea47dd13d:/# curl 172.22.0.3:8000/themes
[]