Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 无法访问在Google云上作为Docker容器运行的JFrog Artifactory_Nginx_Google Cloud Platform_Reverse Proxy_Jfrog Cli - Fatal编程技术网

Nginx 无法访问在Google云上作为Docker容器运行的JFrog Artifactory

Nginx 无法访问在Google云上作为Docker容器运行的JFrog Artifactory,nginx,google-cloud-platform,reverse-proxy,jfrog-cli,Nginx,Google Cloud Platform,Reverse Proxy,Jfrog Cli,我有一个运行在GCP上的虚拟机,并在上面安装了我的docker。我有一个nginxweb服务器,它运行在一个静态保留的外部/公共IP地址上。我可以通过公共IP地址轻松访问此站点。现在,我让我的Artifactory作为Docker容器在这个VM上运行,整个想法是使用同一个公共IP地址和一个特定端口(比如8081)访问这个Docker容器(确切地说是Artifactory)。我已经在NGINX web服务器中配置了反向代理,以绕过对我的Artifactory docker容器的内部IP地址的请求,

我有一个运行在GCP上的虚拟机,并在上面安装了我的docker。我有一个nginxweb服务器,它运行在一个静态保留的外部/公共IP地址上。我可以通过公共IP地址轻松访问此站点。现在,我让我的Artifactory作为Docker容器在这个VM上运行,整个想法是使用同一个公共IP地址和一个特定端口(比如8081)访问这个Docker容器(确切地说是Artifactory)。我已经在NGINX web服务器中配置了反向代理,以绕过对我的Artifactory docker容器的内部IP地址的请求,但是请求没有到达它,无法访问Artifactory

Docker容器正在运行:-

CONTAINER ID        IMAGE                                            COMMAND                  CREATED             STATUS              PORTS                    NAMES
a4119d923hd8        docker.bintray.io/jfrog/artifactory-pro:latest   "/entrypoint-artifac…"   57 minutes ago      Up 57 minutes       0.0.0.0:8081->8081/tcp   my-app-dev-artifactory-pro
以下是我的反向代理设置:-

server {

listen 81;

listen [::]:81;

server_name [My External Public IP Address];

location / {

proxy_pass https://localhost:8081;

}

}

由于您使用的是GCP来运行它,我认为您的问题非常简单。首先,您不必使用Nginx来访问Docker容器中的Artifactory。您应该能够使用IP和端口(例如XX.XX.XX.XX:8081)非常轻松地访问它,我可以看到在Nginx配置中,您正在侦听Artifactory未使用的端口81。我认为这里的问题要么是在实例配置中不允许与GCP实例进行HTTP通信,要么是没有在“docker run”命令中映射端口。 您可以通过运行命令“docker ps”查看端口是否映射,并查看“端口”部分中是否有映射的端口。如果没有,您将需要映射端口(8081到8081),并确保您的GCP实例启用了HTTP流量,然后您将能够使用IP:port访问Artifactory