我是一个
linux noob在Docker容器的管理中使用apache或Nginx在VPS上.
我使用一个OVH经典的Vps(4go ram,25Go SSD),已经安装了ubuntu 15.04 docker的映像.
docker容器的安装真的很容易,在我的情况下我安装没有问题的图像sharelatex.
docker run -d \ -v ~/sharelatex_data:/var/lib/sharelatex \ -p 5000:80 \ --name=sharelatex \ sharelatex/sharelatex
站点可以通过VPS的IP访问http://51.255.47.40:5000端口显示站点工作没有任何问题.
我已经有一个子域名(tools.sebastienreycoyrehourcq.fr)配置到服务器上的ip vps(51.255.47.40路由到外部的webfaction面板),不工作,不明白为什么.
我在51.255.47.40上安装了一个apache服务器,但我认为最好的选择是安装Nginx或apache的docker镜像?你能在这一点上给我建议吗之后,我怎么可以重定向到一个经典的80端口的apache或Nginx的docker映像的5000端口链接到我的子域?
解决方法
以前的答案可能涵盖了大多数问题,特别是如果您的域名有重定向问题.
为了完全移植并使用码头工作者的所有可能性,我的建议是使用Nginx官方的码头服务器映像,并将其作为唯一可从外部访问的端口(使用端口),并使用–link来管理您的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:这是使用我们自己的在github和docker上公开的kekev76 / Nginx映像完成的,但您可以将原理适应官方的Nginx映像.