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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人