首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx/apache重定向码头容器上vps上的输出端口

nginx/apache重定向码头容器上vps上的输出端口
EN

Stack Overflow用户
提问于 2015-11-11 21:26:39
回答 3查看 1.6K关注 0票数 10

我是linux,在VPS上使用apache或nginx管理docker容器。

我使用的OVH经典Vps (4goram,25GoSSD)已经安装了Ubuntu15.04+码头映像。

安装码头容器真的很容易,在我的例子中,我没有问题地安装映像sharelatex

代码语言:javascript
复制
docker run -d \
  -v ~/sharelatex_data:/var/lib/sharelatex \
  -p 5000:80 \
  --name=sharelatex \
  sharelatex/sharelatex

站点可以访问的IP上的VPS在http://51.255.47.40:5000端口显示,网站的工作没有任何问题。

我已经配置了一个子域(tools.sebastienreycoyrehourcq.fr)来进行服务器ip vps (51.255.47.40路由到why面板中的外部),不工作,不明白为什么。

我在51.255.47.40上安装了apache服务器,但我认为最好的选择可能是安装nginx或apache的docker映像?你能在这一点上给我建议吗?在此之后,如何重定向到典型的80个apache端口或链接到我的子域的nginx上的5000端口?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-18 13:09:42

以前的答案可能涵盖了大部分问题,特别是当你的域名有重定向问题时。

为了实现完全可移植性,并使用码头的所有可能性,我的建议是使用Nginx正式码头映像,并将其作为唯一可从外部访问的(打开端口),并使用--link来管理Nginx容器和其他容器之间的连接。

我在类似的情况下也这样做过,而且效果很好。下面是我对你的情况所做的尝试性翻译。

在没有指定任何外部端口的情况下启动共享乳液容器:

代码语言:javascript
复制
docker run -d \
  -v ~/sharelatex_data:/var/lib/sharelatex \
  --name=sharelatex \
  sharelatex/sharelatex

您为您的shareLatex服务器准备了一个nginx文件,您将其放置在$HOME/nginx/conf中,该文件如下所示

代码语言:javascript
复制
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坞容器:

代码语言:javascript
复制
docker run -d --link sharelatex:sharelatex --name NginxMain -v $HOME/nginx/conf:/etc/nginx/sites-available -v -p 80:80 kekev76/nginx

ps :这是用我们自己的been 76/ nginx映像完成的,它是在github和docker上公开的,但是您可以根据官方的nginx映像来调整这个原则。

票数 4
EN

Stack Overflow用户

发布于 2015-11-14 16:27:36

nginx-proxy (https://github.com/jwilder/nginx-proxy)然后运行VIRTUAL_HOST设置为tools.sebastienreycoyrehourcq.fr的sharelatex就足够了。

例如:

代码语言:javascript
复制
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

紧接着是

代码语言:javascript
复制
docker run -d \
-e VIRTUAL_HOST=tools.sebastienreycoyrehourcq.fr \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
票数 2
EN

Stack Overflow用户

发布于 2015-11-16 10:14:30

子域tools.sebastienreycoyrehourcq.fr没有正确配置。它不会解析到任何IP地址,这就是它不能工作的原因。

配置子域之后,可以使用以下命令在端口80上运行sharelatex容器:

代码语言:javascript
复制
docker run -d \
  -v ~/sharelatex_data:/var/lib/sharelatex \
  -p 80:80 \
  --name=sharelatex \
  sharelatex/sharelatex

这样你就可以在http://tools.sebastienreycoyrehourcq.fr上访问应用程序了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33660171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档