linux - nginx/apache重定向vps上docker容器上的输出端口

标签 linux apache nginx docker vps

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

我使用已安装 ubuntu 15.04 + docker 镜像的 OVH 经典 Vps(4go ram,25Go SSD)。

安装 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 面板中路由到 External),不工作,不明白为什么。

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

最佳答案

以前的答案可能涵盖了大部分问题,尤其是如果您的域名存在重定向问题。

为了完全可移植并使用 docker 的所有可能性,我的建议是使用 Nginx 官方 docker 镜像并使其成为唯一可以从外部访问的镜像(打开端口)并使用 --link 管理 Nginx 容器和其他容器之间的连接。

我在类似的情况下做过,效果很好。以下是我对您的情况所做的暂定翻译。

您在不指定任何外部端口的情况下启动您的共享 latex 容器:

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 镜像。

关于linux - nginx/apache重定向vps上docker容器上的输出端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660171/

相关文章:

python - 完整 Linux 文件路径的正则表达式

JavaScript (Node.js) 仅在 Linux Node 上将字符串内容解释为对象

linux - SSH 服务器以不接受连接的系统帐户启动

postgresql - gitlab备份还原影响url重定向

linux - 用于监视 Gentoo 上的 nginx 日志文件的 shellscript 在日志文件被 gzip 后过期

c - c中的编程管道。尝试执行管道命令 cd 和 pwd,但它对我不起作用

java - 如何使用 Apache POI 在 Java 中读取 Excel 的合并单元格?

c - 获取 Apache C-Module 中的连接数

PHP 网站警告 : require(/. ./core/database/connect.php): 无法打开流

javascript - 预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段授权。 (nginx)