我正在digitalocean上部署一个ghost服务器,默认端口为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欢迎页面
发布于 2015-05-04 10:22:55
首先,卷映射应该是-v /home/abc/nginx/sites-enabled:/etc/nginx/conf.d,而不是site-enabled。
其次,因为Nginx在启动时加载DNS条目,并且从不更新,所以在ghost重启后,Nginx将无法定位您的ghost容器(从而获得一个新的IP地址)。一种快速修复方法是运行docker restart ghost nginx而不是docker restart nginx ghost。
发布于 2016-07-27 15:40:12
试试这个预先设置好的nginx代理https://github.com/jwilder/nginx-proxy
按照说明运行nginx代理:
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy然后,您可以简单地运行这个幽灵docker,如下所示:
docker run --name some-blog -d -p 80:2368 -e VIRTUAL_HOST=domain.com -v /home/ghost/someblog/:/var/lib/ghost --restart unless-stopped ghost我有多个重影容器,如下所示。
https://stackoverflow.com/questions/30012628
复制相似问题