前提條件:確保伺服器上已經安裝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