Я развертываю контейнеры докеров на своем локальном компьютере. Чтобы убедиться, что они успешно развернуты, я захожу в свой браузер и набираю http://192.168.99.105:7474/browser
. Я хотел бы сделать это программно, поэтому я следовал коду в этом вопросе Проверить, доступен ли URL - Помощь в оптимизации класса. Однако, когда я пытаюсь это сделать, я получаю System.Net.WebException {"The remote server returned an error: (504) Gateway Timeout."}
.
Однако он отлично работает, и я получаю HttpStatusCode.OK
, если URL-адрес https://en.wikipedia.org/wiki/YouTube
Это мой код:
private bool UrlIsReachable(string url)
{
//https://en.wikipedia.org/wiki/YouTube
HttpWebRequest request = WebRequest.Create("http://192.168.99.105:7474/browser") as HttpWebRequest;
request.Timeout = 600000;//set to 10 minutes, includes time for downloading the image
request.Method = "HEAD";
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
return response.StatusCode == HttpStatusCode.OK;
}
}
catch (WebException)
{
return false;
}
}
РЕДАКТИРОВАТЬ: мой файл docker-compose.yml
version: '2'
services:
company1:
image: neo4j
ports:
- "7474:7474"
- "7687:7687"
volumes:
- $HOME/company1/data:/data
- $HOME/company1/plugins:/plugins
company2:
image: neo4j
ports:
- "7475:7474"
- "7688:7687"
volumes:
- $HOME/company2/data:/data
- $HOME/company2/plugins:/plugins
TCP
, а неHTTP
. Я попробовал тест на веб-сайтеweb-sniffer.net
, и он дал мнеOnly ports 80,443,8080 allowed.
Мой порт 7474. - person jmc   schedule 17.10.2016