此外,您还将学习如何创建Docker数据卷以在容器和主机文件系统之间共享信息。
Nginx是一款流行的开源软件,用于网络服务、反向代理、缓存、负载平衡等。它非常流行,并在当今许多高流量网站上使用。
Docker最常见的工作负载之一是使用它来容器化web服务器。我们将向您展示如何使用Nginx进行设置。那么,让我们带您了解整个过程。
相关:如何安装和配置NginxWeb服务器
Docker是一个容器化平台,它将您的应用程序打包成一个易于管理的容器映像。
先决条件
您必须满足以下要求才能完成本教程:
- Docker应该安装并在您的系统上本地运行。
- 您需要一个root帐户,或者用户可以运行sudo命令。
设置Nginx内部Docker
拖动图像
首先,我们将删除Nginx的官方图片。在终端上运行以下Docker pull命令,从Docker主机上的Docker hub下载Nginx最新镜像。
sudo docker pull nginx
运行Nginx Docker容器
我们已经准备好运行Nginx Docker容器,并将其端口暴露给您的本地网络。为此,我们使用以下命令运行映像:
sudo
码头工人
跑
d
80
:80
名称
我的nginx服务器
nginx
代码语言:
CSS
(
css
)
d
–以分离模式启动容器(容器在后台运行)。
–将端口从容器绑定到主机(将主机流量端口80路由到容器端口80)。
名称
–Docker容器的名称。
最后一个论点,
nginx
,告诉Docker要为容器使用哪个映像。
现在打开浏览器,将其指向运行Nginx容器的主机的地址。就我而言
http://192.168.122.101
。Nginx网络服务器默认页面应该向您致意。
就是这样。你有一个Nginx Docker容器的工作实例。
列出Docker容器
要列出所有正在运行的Docker容器,请执行以下命令:
sudo docker集装箱ls
基于以上输出,我们可以使用以下两种方法之一停止我们的Nginx Docker容器:
sudo docker停止19411f8b3f35
sudodocker停止我的nginx服务器
要查看所有容器,甚至是未运行的容器,您需要添加
一
旗帜。
sudo docker容器ls-a
Nginx Docker容器与主机之间的数据共享
Docker容器是短暂的。
默认情况下,在容器内创建的任何数据只能在容器内使用,并且只能在容器运行时使用。
因此,让我们向您展示如何在主机上访问容器内部的数据。我们的目标是创建一个简单的HTML文件,将其托管在容器中,并使用Nginx Docker容器在外部提供服务。
此设置允许我们在容器外部托管持久的网站内容。
为了实现这一功能,我们将在Docker中使用绑定挂载功能。
使用绑定装载时,主机上的文件或目录会装载到容器中。
因此,让我们首先在主目录中为您的网站内容创建一个新目录。
mkdir~/www
现在,让我们创建一个简单的HTML文件,并在索引页上放置一些文本。
vim~
/www/i
ndex.html
代码语言:
JavaScript
(
javascript
)
<
>
<
头
>
<
标题
>
Nginx Docker
</
标题
>
</
头
>
<
>
<
>
我的静态页面。
</
>
</
>
</
>
代码语言:
HTML,XML
(
xml
)
请复制上面的片段并粘贴到里面。然后,保存文件并退出Vim。
接下来,我们将运行Nginx Docker容器,容器上有附加的卷
/usr/share/nginx/html
到主机上的礼物
www
目录,其中
index.html
文件已保存。
docker运行-d-p
80
:
80
v
/网址:/u
sr/share/nginx/html/--将我的nginx服务器命名为nginx
代码语言:
JavaScript
(
javascript
)
Nginx容器默认设置为在
/usr/share/nginx/html/
。在上面的命令中
v
选项设置绑定装载卷,该卷链接
/
usr/share/nginx/html/
目录从Nginx Docker容器内部到
~/www
目录。
Docker使用冒号符号(
:
)以将主机的路径与容器路径分开。请记住,主机路径始终位于第一位。
同样,如果您浏览
http://192.168.122.101
,您将在浏览器窗口中获得以下给定输出。
仅此而已。您现在有一个正在运行的Nginx Docker容器,为自定义网页提供服务。
结论
Nginx和Docker合作得很好。本教程演示了如何设置和使用Nginx Docker容器。您还知道如何在容器和主机文件系统之间共享信息。
如有疑问,请留下您的意见。
相关推荐
流行的开源网络连接存储(NAS)解决方案的最新迭代OpenMediaVault 7(Sandworm)已正式发布。与前代产品相比,它进行了重大更新,带来了一系列旨在改进功能和用户体验的增强功能和新功能。 OpenMediaVault的核心是一种全面的NAS解决方案,它被自托管爱好者广泛采用,使用户能够在网络环境中设置和管理存储服务。它建立在Debian之上,确保了稳定性和对各种硬件配置的广泛支持。
本周的技术播客为技术恐惧症患者带来了一些人工智能隐私问题的消息,新的Raspberry Pi和Chromebook电脑,并解释了如何避免购买假SSD。我们还将探讨您的智能手机是否在倾听您的声音,以提供有针对性的广告,回顾我们的Facebook Marketplace销售经验,并分享一些建议。 您可以在Apple Podcasts、Spotify、Google Podcasts、Amazon Mus
Traefik是开源代理领域的知名品牌,作为一种动态入口控制器和应用程序代理,旨在为现代云原生应用程序路由和管理流量,它发布了主要的3.0版本。 我们可以毫不夸张地将此次发布描述为软件发展的一个新阶段。为什么?它只是带来了一大堆新的机会。此外,自五年前的2019年Traefik上一次主要2.0发布以来,Traefik的参与度惊人,下载量超过30亿次,贡献者超过700人,并保持着其作为API顶级网关
VirtualBox是一款流行的虚拟化软件,允许用户在一台物理机器上运行多个操作系统,最近推出了7.0.16版本。此更新被归类为维护版本,旨在提高软件在各种主机和客户操作系统中的整体稳定性和兼容性。 新版本解决了Virtual Machine Manager(VMM)的一个关键问题,其中纠正了一个被称为“大师冥想”的特定错误。此问题发生在使用Intel主机上的KVM虚拟机监控程序执行嵌套来宾时,它
Discord是游戏玩家的头号通讯应用。虽然macOS可能不是游戏玩家的头号平台,但它仍然可以很好地运行Discord。 由于它在英特尔和苹果的硅Mac上原生工作,您不需要任何模拟器来安装Discord;您将经历与任何其他Mac应用程序安装过程相同的过程。我们在下面详细介绍了要采取的所有步骤。 步骤1:将Discorde的安装文件下载到您的Mac macOS上的安装文件称为DMG文件.您应该按照以
回到顶部