docker運行nginx鏡像的實現(xiàn)步驟
今天在這里講如何在docker上運行nignx鏡像,并將配置文件和目錄掛載到宿主機上,以實現(xiàn)方便統(tǒng)一的管理配置信息。
首先第一步需要拉取鏡像,我們還是拉取最新的鏡像,不需要添加tag版本號,
docker pull nginx
拉取結(jié)束后用docker images 查看是否拉取成功,如圖中可以看到nginx的鏡像了。
docker
拉取成功后需要創(chuàng)建文件和文件夾用于運行的時候掛載,
mkdir -p /usr/local/nginx/conf mkdir -p /usr/local/nginx/logs mkdir -p /usr/local/nginx/html
下面需要先運行容器,方便把文件本來的內(nèi)容拷貝出來,然后再將容器刪除,因為自己手動創(chuàng)建的配置文件容易有語法錯誤,當(dāng)然如果你有了爭取的配置文件也可以直接使用,就不需要創(chuàng)建容器拷貝出來后再刪除這個操作了。接下來幾個步驟可以跳過
# 1. 先用 nginx 鏡像創(chuàng)建 nginx 容器,將需要掛載的文件拷貝出來 docker run --name nginx -d -p 80:80 nginx # 2. 將容器中的 nginx.conf 文件拷貝到宿主機中 docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf # 3. 將容器中 conf.d 文件夾(包括里面的文件)拷貝到宿主機中 docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d # 4. 將容器中的 html 文件夾拷貝到宿主機中 docker cp nginx:/usr/share/nginx/html /usr/local/nginx/ # 5.刪除正在運行的容器容器(-f 的參數(shù)作用是強制刪除) docker rm -f nginx
最終可以在宿主機中看到這些目錄和文件夾,并且其中的html中包含了html文件,conf文件夾中包含了配置文件。
全部準(zhǔn)備好后,做最終的文件夾掛載,端口映射
# 要執(zhí)行的命令 復(fù)制 #運行啟動命令,并將端口進行映射,文件進行掛載。 docker run -p 80:80 --name nginx -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/logs:/var/log/nginx -v /usr/local/nginx/html:/usr/share/nginx/html -d --restart=always nginx:latest #格式化后的代碼 docker run -p 80:80 --name nginx \ -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /usr/local/nginx/logs:/var/log/nginx \ -v /usr/local/nginx/html:/usr/share/nginx/html \ -d \ --restart=always \ nginx:latest # 1.--name是設(shè)置容器名 # 2.-p是容器與宿主機的端口映射 # 3.-v是做卷掛載,實質(zhì)上就是文件的映射 # 4.-d是后臺運行 # 5.--restart 是Docker提供重啟策略控制容器退出時或Docker重啟時是否自動啟動該容器。,always表示docker重啟后,這個容器會自動重啟
執(zhí)行完成后,在瀏覽器查看是否可以訪問。
以上就是docker運行nginx的所有步驟了,如果要配置ssl的話,需要先去域名申請證書,再配置到配置文件中,docker的操作步驟不影響。不過以上要注意幾個問題
- 容器的端口要映射出來才可以訪問,如果是在阿里云服務(wù)器上,還需要把阿里云的對應(yīng)的端口開通
- 如果部署的是前端系統(tǒng),需要把前端文件放到掛載的文件夾中,且nginx配置的訪問路徑是容器中對應(yīng)的路徑,不要配置成宿主機中的路徑,否則會訪問不到的
到此這篇關(guān)于docker運行nginx鏡像的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker運行nginx鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker部署rustdesk遠(yuǎn)程控制服務(wù)器的實現(xiàn)
RustDesk是一款體驗優(yōu)秀的遠(yuǎn)程控制軟件,本文主要介紹了docker部署rustdesk遠(yuǎn)程控制服務(wù)器的實現(xiàn),具有一定的參考價值,感興趣的可以了2024-05-05詳解Ubuntu Docker Registry 搭建私有倉庫
這篇文章主要介紹了詳解Ubuntu Docker Registry 搭建私有倉庫,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02Docker部署Jenkins持續(xù)集成(CI)工具的實現(xiàn)
Jenkins 是一個流行的開源自動化工具,廣泛應(yīng)用于持續(xù)集成(CI)和持續(xù)交付(CD)的環(huán)境中,本文介紹了使用Docker部署Jenkins,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02docker如何進入啟動容器查看內(nèi)部目錄結(jié)構(gòu)
這篇文章主要介紹了docker如何進入啟動容器查看內(nèi)部目錄結(jié)構(gòu)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09Docker Machine遠(yuǎn)程部署Docker的方法
本篇文章主要介紹了Docker Machine遠(yuǎn)程部署Docker的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04給debian的docker容器添加crontab定時任務(wù)
這篇文章主要介紹了給debian的docker容器添加crontab定時任務(wù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08