nginx - 在docker中无法将nginx与ghost链接

我在digitalocean上部署了一个幽灵服务器,端口默认为2368。

docker run -d --name ghost ghost

并且我也部署了Nginx服务器。
docker run -d -p 80:80 -p 443:443 --name nginx --link ghost:ghost -v /home/abc/nginx/sites-enabled:/etc/nginx/sites-enabled nginx

在/ home / abc / nginx / sites-enabled的路径下,我有一个配置文件-名为ghost
server {
  listen 0.0.0.0:80;
  server_name mydomain; 
  access_log /var/log/nginx/mydomain.com.log; 

  location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header HOST $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://ghost:2368;
      proxy_redirect off;
  }
}

最后
docker restart nginx,ghost

我可以清楚地看到nginx和ghost容器运行良好,并转到服务器的IP地址,可以看到nginx的欢迎页面,其中显示
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

但转到域,它找不到服务器或有时也显示nginx欢迎页面

最佳答案

首先,您的卷映射应为-v /home/abc/nginx/sites-enabled:/etc/nginx/conf.d,而不是site-enabled

其次,由于Nginx在启动时会加载DNS条目,并且永远不会更新,因此Nginx将无法在幽灵重启后找到您的幽灵容器(从而获得新的IP地址)。一个快速修复程序是运行docker restart ghost nginx而不是docker restart nginx ghost

https://stackoverflow.com/questions/30012628/

相关文章:

json - 如何使用Python解析Spark 1.6中格式错误的JSON字符串,其中包含空格,多

docker - 如何将Docker的容器与管道连接

java - java.io.IOException:方案:maprfs没有文件系统。将maprfs

php - PHP shell_exec无法执行Hadoop命令

docker - 在Boot2Docker中使用MySQL时JDBC连接缓慢

hadoop - 使用sqoop排除表

hadoop - HDFS如何存储大于 block 大小的单个数据?

docker - Docker中的开发环境

hadoop - NameNode 的用户名必须与 DataNode 的用户名相同吗?

hadoop - 从Teradata查询到pyspark