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