此外,您还将学习如何创建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容器。您还知道如何在容器和主机文件系统之间共享信息。
如有疑问,请留下您的意见。
相关推荐
在一个期待已久的举动中,谷歌终于全面推出了其新的Chromebook Plus系列,承诺推出更高规格、更好的生产力和更多用户选择的以生产力为重点的设备。Chromebook Plus已经被猜测了几个月,最初的代号是Chromebook X,但这个名字在2023年中期被删除,以支持稍微更香草的Plus(也许是为了避免与马斯克的X联系在一起?)。 尽管如此,新的Chromebook Plus规格对那些
Jellyfin是一款广受欢迎的免费开源媒体系统,深受自托管爱好者的喜爱,它正式发布了备受期待的10.9版本,承诺提供一系列增强功能,旨在改善用户体验并扩展其功能。 经过两年多的开发,这个版本已经集成了1100多个拉取请求,所以让我们看看有什么变化。 果冻10.9亮点 Jellyfin 10.9.0引入了一系列新功能,从允许预览实时视频清理的“trickplay”,到更可靠的网络重定向处理,以及在
如果您正在设置一台新服务器,最关键的决定之一是您将使用的操作系统。 Debian和Ubuntu同时用作桌面操作系统和服务器。它们是历史上最流行的两个Linux发行版。众所周知,Ubuntu是一个基于Debian的发行版。 尽管如此,它并不是一个精确的复制品,两者之间有着显著的相似之处和巨大的差异。换句话说,它们是一枚硬币的两面。 当谈到查看这两个操作系统的服务器并选择哪一个更好时,应该说这个决定在
CachyOS是一个基于Arch的滚动Linux发行版,旨在在简单的同时为用户提供改进的性能。默认情况下,它以XFS文件系统为赌注,配备了一个易于使用的GUI安装程序(Calamares),使其成为Arch生态系统新用户的一个有吸引力的选择。 在CachyOS项目的最新进展中,该团队宣布于2024年4月发布,这是今年的第四次重大更新。此版本引入了关键的安全修复程序以及一套新功能,以改善其专用用户社
PeerTube是一个去中心化的视频托管平台,是作为YouTube等集中式平台的替代品而开发的,它发布了6.1版,其中包括一些新功能和安全修复程序。 此版本的亮点是引入了帐户导入/导出功能。用户现在可以将他们的整个帐户数据(包括视频、频道和偏好)导出到可下载的档案中。这不仅是一个方便的备份工具,而且有助于PeerTube实例之间的无缝转换。 但是,需要注意的是,虽然数据可以跨实例复制,但不会迁移,
回到顶部