容器内下载安装Nginx及部署

我们可以使用mobaxterm这个软件来连接虚拟机,也可以再接在VMware里面直接操作(这里我直接连接这个工具,以下的截图都是这个工具)

一 .拉取“latest”版本的Nginx服务的Docker镜像到本地,然后查看本地的Docker 镜像信息。

我们先查看镜像

[root@server-1 ~]# docker images

在拉取“latest”版本的Nginx服务的Docker镜像到本地

[root@server-1 ~]# docker pull nginx

我们在查看刚刚拉取的镜像消息
[root@server-1 ~]# docker images

使用 Nginx 服务的镜像“nginx”创建 Nginx 服务的容器“biz-front”,Nginx 服务默认使用网络端口“80”提供服务,将新创建容器的该网络端口与宿主机的网络端口 “80”进行端口映射。

[root@server-1 ~]# docker run -d -p 80:80 --name=biz-front nginx

我们在进入刚刚创建的容器“biz-front”的内部操作系统,查看 Nginx 服务的版本信息

[root@server-1 ~]# docker exec -it biz-front /bin/bash
root@7759835e4e15:/#  nginx -V

在输入这个命名退出容器,然后再访问Nginx服务的页面(在浏览器中访问                                   访问方式http://主机地址(我的是http://192.168.100.100 )

root@7759835e4e15:/# exit

可以看到 Nginx 服务的“latest”版本镜像并非是 Nginx 服务的最新版本,通过 Nginx 服务的官方网站可以看到其最新的稳定版本为“1.24.0”。实际上大部分软件服务的 latest 版本镜像都不一定是该软件服务的最新版本。

部署Nginx服务

再次进入我们刚刚创建的容器“biz-front”的内部操作系统,查看 Nginx 服务在操作系统中的相 关文件和目录信息。

[root@server-1 ~]# docker exec -it biz-front /bin/bash

在容器“biz-front”的内部操作系统的“/etc/nginx”目录下可以看到 Nginx 服 务的配置文件“nginx.conf”和自定义配置文件目录“conf.d”

我们先切换到“/etc/nginx”目录,在查看配置文件

root@7759835e4e15:/# cd /etc/nginx
root@7759835e4e15:/etc/nginx# ls -l

在容器“biz-front”的内部操作系统的“/usr/share/nginx”目录下的“html” 目录中可以看到 Nginx 服务的相关页面文件。

和上面的操作一样
root@7759835e4e15:~# cd /usr/share/nginx
root@7759835e4e15:/usr/share/nginx# ls -l html/

在 本 地 操 作 系 统 中 的 任 意 位 置 创 建 目 录 “nginx” , 这 里 将 目 录 创 建 在 “/usr/local”目录下。(如果你想创建在/usr/local”可以直接切换到这个目录下面进行操作)

[root@server-1 ~]# cd /usr/local
[root@server-1 local]# mkdir nginx
[root@server-1 local]# ll

同时我们还可以进入Nginx这个目录,查看这个目录的路径

[root@server-1 local]# cd nginx
[root@server-1 nginx]# pwd

在刚才创建目录“nginx”中创建 Nginx 服务的配置文件目录“conf”,并在配置 文件目录中创建自定义配置文件目录“conf.d”


[root@server-1 nginx]# mkdir conf
[root@server-1 nginx]# ll


[root@server-1 nginx]# cd conf
[root@server-1 conf]# mkdir conf.d
[root@server-1 conf]# ll

将容器“biz-front”的内部操作系统中的 Nginx 服务的配置文件“nginx.conf” 拷贝到本地操作系统中的 Nginx 服务的配置文件目录“conf”下

[root@server-1 conf]# cd
[root@server-1 ~]# docker cp biz-front:/etc/nginx/nginx.conf /usr/local/nginx/conf/

在本地操作系统中的任意位置创建前端应用的存放目录“app”,这里将目录创建 在操作系统的根目录下。[root@server-1 ~]# cd /
[root@server-1 /]# mkdir app
[root@server-1 /]# ll

然后再删除现有的 Nginx 服务的容器“biz-front”,然后重新创建该容器,依然使用宿 主机的网络端口“80”与容器的网络端口“80”进行端口映射,添加该容器的自启动设 置,将本地操作系统中 Nginx 服务的配置文件“nginx.conf”和自定义配置文件目录 “conf.d”与容器内操作系统中 Nginx 服务的配置文件与自定义配置文件目录进行挂载, 并将本地操作系统中 Nginx 服务的前端应用存放目录“app”挂载到容器内操作系统中, 同时通过文件挂载的方式实现本地操作系统与容器内操作系统的时间同步[root@server-1 /]# docker rm -f biz-front
biz-front
[root@server-1 /]# docker run -d -p 80:80  

--name=biz-front --restart=always --privileged=true 

-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf

-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d:ro

-v /app:/app:ro -v /etc/localtime:/etc/localtime nginx

### 使用Docker部署Nginx的最佳实践 #### 准备工作 为了确保顺利部署Nginx,在开始之前需确认已安装并配置好Docker环境。对于大多数Linux发行版、Windows以及macOS,官方文档提供了详细的安装指南[^1]。 #### 部署基础Nginx镜像 最简单的方式是从Docker Hub拉取官方维护的Nginx镜像来启动一个容器实例: ```bash docker pull nginx ``` 接着可以使用如下命令运行该镜像,并将其暴露给主机上的80端口: ```bash docker run --name my-nginx -p 80:80 -d nginx ``` 这条指令会以后台模式启动名为`my-nginx`的新容器,同时将容器内部的HTTP服务映射到宿主机的默认WEB访问端口上。 #### 自定义配置文件与静态资源挂载 通常情况下,默认设置可能无法满足实际需求。此时可以通过绑定本地路径至容器内特定位置实现自定义化操作。例如,假设有一个位于当前目录下的HTML页面想要通过Nginx提供服务,则可执行下面这段脚本完成相应设定: ```bash mkdir ./html && echo "Hello from custom HTML!" > ./html/index.html docker run --name my-customized-nginx \ -v $PWD/html:/usr/share/nginx/html \ -p 80:80 \ -d nginx ``` 上述代码片段不仅实现了网页内容替换,还展示了如何利用卷(volume)机制同步外部修改后的文件结构进入正在运行中的容器环境中。 #### 进一步优化——采用Docker Compose简化多组件项目构建流程 针对更复杂的场景比如集成了PHP解释器或者其他依赖项的应用程序来说,单独依靠单条CLI指令难以有效管理整个系统的生命周期。这时推荐借助于YAML格式描述的服务编排工具-Docker Compose来进行辅助开发调试作业。以下是基于此思路的一个简易案例说明: 创建一个新的yaml文件 `docker-compose.yml`, 内容如下所示: ```yaml version: '3' services: web: image: nginx ports: - "80:80" volumes: - ./html:/usr/share/nginx/html ``` 之后只需一条简单的compose up命令即可一键搭建起所需的测试平台: ```bash docker-compose up -d ``` 这种方法的优势在于它允许开发者一次性定义多个相互关联的服务及其属性关系图谱,极大提高了工作效率的同时也增强了团队协作能力[^2].
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值