使用Nginx在Ubuntu上代理Docker教程步骤主要有:1.安装Docker;2.安装Nginx;3.设置Apache;4.配置Nginx反向代理。
安装Docker
如果您已经听说过Docker,您可能知道它可以帮助您在密封环境中构建应用程序的能力。这是有帮助的,因为它消除了开发人员机器和生产机器之间可能发生的任何更改,例如来自萤光云的VPS服务器。
如何安装Docker
使用以下命令安装docker:
apt-get install docker
容器技术有益密封环境,但是当您需要配置SSL或其他应用程序等内容时,这会引入额外的复杂性。
安装Nginx
nginx(发音为”Engine-ex”)是一个高度可配置的Web服务器。这使得设置所谓的”反向代理”的东西非常重要,这意味着此Web服务器将接受请求并将其转发给我们的Docker容器。使用以下内容将其添加到您的vps中:
apt-get install nginx
设置一个简单的Apache容器
为此,我们将在Docker集线器上使用官方Apache映像。它的文档可以找到 这里.
如文档所述,我们将需要创建一个DockerFile。
使用文本编辑器(如Nano(Nano Apache),写入这些内容的文件:
FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/
现在创建一个名为index.html的文件,并将其插入其内容:
<h1> Hello World! </h1>
可以使用任何静态页面甚至目录来代替索引文件。 为了简单起见,单个HTML文件就可以了。 写入文件后,运行以下命令以构建docker文件。
docker build -t apache-demo
docker run -dit --name demo-web -p 8080:80 apache-demo
通过[您的域:8080]或[您的IP]:8080访问服务器应导致在Web浏览器中看到此页面
将Nginx配置为反向代理
使用Docker容器设置为服务您的文件,我们可以设置nginx。 这样,我们大多可以将容器的配置单独留下,并在Nginx后面播放它。 编辑 /etc/nginx/nginx.conf 并添加以下代码:
server {
server_name [YOUR.DOMAIN.NAME];
listen 80;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
}
从这里,nginx占据了所有公共请求,Apache容器都服务于您的文件。