Linux vps上docker容器上输出端口的nginx/apache重定向
我是一个linux noob,在VPS上使用apache或nginx管理docker容器 我使用OVH经典Vps(4go ram,25Go SSD)和已经安装的ubuntu 15.04+docker映像 docker容器的安装非常简单,在我的例子中,我安装映像时没有问题 可通过VPS的IP访问站点,网址为Linux vps上docker容器上输出端口的nginx/apache重定向,linux,apache,nginx,docker,vps,Linux,Apache,Nginx,Docker,Vps,我是一个linux noob,在VPS上使用apache或nginx管理docker容器 我使用OVH经典Vps(4go ram,25Go SSD)和已经安装的ubuntu 15.04+docker映像 docker容器的安装非常简单,在我的例子中,我安装映像时没有问题 可通过VPS的IP访问站点,网址为http://51.255.47.40:5000端口显示站点工作没有任何问题 我已经有一个子域(tools.sebastienreycoyrehourcq.fr)配置为在服务器ip vps上运行
http://51.255.47.40:5000
端口显示站点工作没有任何问题
我已经有一个子域(tools.sebastienreycoyrehourcq.fr)配置为在服务器ip vps上运行(51.255.47.40
在WebParty面板中路由到外部),不工作,不明白为什么
我在51.255.47.40
上安装了apache服务器,但我想最好的选择可能是安装nginx或apache的docker映像?在这一点上你能给我一些建议吗?在那之后,我如何在链接到我的子域的apache或nginx的经典80端口上重定向到docker映像的5000
端口?nginx代理
(),然后运行sharelatex,并将VIRTUAL_HOST
设置为tools.sebastienreycoyrehourcq.fr应该足以让它正常工作
e、 g
接
docker run -d \
-e VIRTUAL_HOST=tools.sebastienreycoyrehourcq.fr \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
子域
tools.sebastienreycoyrehourcq.fr
配置不正确。它不会解析为任何IP地址,这是它无法工作的原因
配置子域后,可以使用以下命令在端口80上运行sharelatex容器:
docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 80:80 \
--name=sharelatex \
sharelatex/sharelatex
通过这种方式,您可以访问位于的应用程序。以前的回答可能涵盖了大部分问题,特别是如果您的域名存在重定向问题 为了完全可移植并利用docker的所有可能性,我的建议是使用Nginx官方docker映像,使其成为唯一可从外部访问的映像(开放端口),并使用
--链接来管理Nginx容器与其他容器之间的连接
我在类似的情况下也这样做过,效果很好。下面是我对你的情况所做的尝试性翻译
启动共享容器时,无需指定任何外部端口:
docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
--name=sharelatex \
sharelatex/sharelatex
您为shareLatex服务器准备了一个nginx conf文件,该文件放在$HOME/nginx/conf
中,如下所示
upstream sharelatex {
# this will refer to the name you pass as link to the nginx container
server sharelatex;
}
server {
listen 80;
server_name tools.sebastienreycoyrehourcq.fr;
location ^~ / {
proxy_pass http://sharelatex/;
}
}
然后使用适当的卷链接和容器链接启动nginx docker容器:
docker run -d --link sharelatex:sharelatex --name NginxMain -v $HOME/nginx/conf:/etc/nginx/sites-available -v -p 80:80 kekev76/nginx
ps:这是用我们自己的kekev76/nginx映像完成的,该映像在github和docker上是公开的,但您可以根据官方nginx映像调整原理。感谢您的回答,使用nginx代理是否可以将生成的配置文件保存在卷中?基于https://github.com/jwilder/nginx-proxy/blob/master/Procfile
,docker cp:/etc/nginx/conf.d/default.conf nginx.conf
应该这样做。
upstream sharelatex {
# this will refer to the name you pass as link to the nginx container
server sharelatex;
}
server {
listen 80;
server_name tools.sebastienreycoyrehourcq.fr;
location ^~ / {
proxy_pass http://sharelatex/;
}
}
docker run -d --link sharelatex:sharelatex --name NginxMain -v $HOME/nginx/conf:/etc/nginx/sites-available -v -p 80:80 kekev76/nginx