Linux服务器上使用docter安装指定版本的nginx服务器

前提条件:确保服务器上已经安装docker

系统版本:  lsb_release -a

 

 

docker版本: docker -v

 

 

目前服务器上没有安装任何镜像

 

 

.第一步、直接使用docker拉取nginx镜像,命令如下,

docker pull nginx

如下图所示,默认使用的最新版本。

 

 

这时在次执行 docker images 命令,结果如下,

 

 

已经拉取到最新的nginx镜像。

 

.第二步、使用docker启动nginx服务

命令如下

docker run -d --name test-nginx -p 8080:80 nginx

参数解释:

-d:以后台模式运行容器。

--name test-nginx:给容器命名为test-nginx

-p 8080:80:将docker容器的端口80映射到主机的端口8080,这样可以通过主机的8080端口访问容器中的Nginx服务。

 

查看容器的运行状态,命令为 docker ps -a

 

 

.第三步、打开服务器的8080端口

 

 

.第四步、访问测试

 

 

访问成功,发现nginx的版本为1.25.4。去nginx官网看一下,

https://nginx.org/en/

 

 

发现其主要提供三个版本,

Mainline version:主线版

Stable version: 稳定版

Legacy versions: 历史版本

其实这还是存在一个问题,1.25.4版本的nginx是否是我们想要的呢?是否是安全的的?

答案不是。那么如何选择nginx版本呢?一般来说,服务器软件版本选择,根据公司的实际需要来进行选择,并不是越新越好。而是越稳定越好,因为谁都不想生产环境出问题叭。

因此即使是在平时做测试的时候,能选择稳定版,就尽量选择稳定版本。这里为了测试,我们选择1.24.0 这个版本。那我们如何安装指定版本呢?操作方式如下,

.第一步、先停掉之前运行的镜像服务;

列出当前正在运行的所有容器

docker ps -a

 

 

停止容器服务

docker stop 容器名或者ID

 

 

删除容器

docker rm 容器名或者容器id

 

 

执行docker images 命令

 

可以把已经下载的docker 镜像文件一起清理掉,不然187M就会白白浪费空间。

docker rmi  IMAGE ID镜像id

删除前后在执行一次 docker images 命令,发现已经删除。

 

 

接下来从头开始在操作一遍。

.a.拉取指定版本的nginx镜像;命令如下

docker pull nginx:1.24.0

 

 

.b.启动docker容器服务。注意这时候启动就需要注意啦!!!

需要先查看本地已经下载的镜像

docker images

然后获取1.24.0 版本 nginx对应的 Images ID

放到下面命令中的 -d 后面即可以启动指定版本的 nginx 服务

如果-d 后面不添加 image id 参数,则默认是以最新的nginx 版本启动服务;命令如下,

docker run --name exam-nginx -p 8080:80 -d 7f0fd59e0094

 

 

说明:可以使用鼠标选中图片中白色的部分(7f0fd59e0094),然后右键即可添加到命令的最后面。

最后在执行docker -ps -a 就可以发现容器已经启动啦。

.c.打开浏览器测试。结果如下,

 

 

这时候发现nginx版本已经变为1.24.0,达到要求。

 

参考博客:

# 参考博文: nginx 版本选择

https://bbs.huaweicloud.com/blogs/342018

 

# 拉取nginx镜像

https://juejin.cn/post/7130150571964629022

# 查看 docker 容器中的nginx 的版本

https://blog.51cto.com/u_16213429/8203760

# 拉取指定版本的nginx

https://www.cnblogs.com/xiufengd/p/15044315.html

posted @ 2024-03-23 23:45  一只爱阅读的程序员  阅读(224)  评论(0编辑  收藏  举报