docker安裝nginx并部署前端項(xiàng)目的全過(guò)程
1.簡(jiǎn)介
本文主要介紹如何使用docker安裝nginx,以及如何將前端打包好的vue項(xiàng)目部署到nginx上。
2.操作
(1)拉取nginx鏡像:
docker pull nginx
(2)咱們先把docker鏡像跑起來(lái):
docker run --name myNginx -p 80:80 -v /home/nginx/dist:/usr/share/nginx/html -d nginx ## --name:容器名字 ## -d: 要啟動(dòng)的鏡像的名字 ## -v: /home/nginx/dist 這是宿主機(jī)(服務(wù)器)中的目錄映射到nignx容器中的/usr/share/nginx/html中;
其實(shí)最讓人費(fèi)解的就是-v這個(gè)東西,其實(shí)就是docker的文件映射。我自己的理解就是將宿主機(jī)與nginx鏡像中的目錄映射關(guān)聯(lián)起來(lái),這樣的效果就是nginx鏡像中的目錄下的文件發(fā)生了什么變化,與之映射的宿主機(jī)的目錄也會(huì)隨之變化,同理,當(dāng)宿主機(jī)中的映射目錄下的文件發(fā)生變化,與之對(duì)應(yīng)的nginx鏡像中的映射目錄也會(huì)有同樣的變化,二者的內(nèi)容是保持一樣了,這樣的好處就是我們以后想改某個(gè)容器的配置文件的時(shí)候,不用再進(jìn)入到容器內(nèi)部去改了,咱直接在宿主機(jī)上改即可。
(3)上一步啟動(dòng)容器的目的是想把容器中的一些目錄先拷貝到宿主中,上一個(gè)啟動(dòng)命令并不是終極版的啟動(dòng)命令,咱們還需要把nginx容器中的配置文件所在的目錄下的文件內(nèi)容拷貝到宿主機(jī)中,讓這兩個(gè)目錄的原始內(nèi)容先保持一致,廢話(huà)不多說(shuō),請(qǐng)看命令:
docker cp 容器id:/etc/nginx /home/etc
咱們把nginx容器中的/etc/nginx下的內(nèi)容拷貝到宿主機(jī)的/home/etc文件中,如果同學(xué)你的/home里面沒(méi)有etc這個(gè)文件夾,可以提前建一個(gè)再來(lái)拷貝。
(4)好好好,這個(gè)nginx容器我已經(jīng)利用完了,現(xiàn)在是時(shí)候拋棄它了,因?yàn)樵蹅兊慕K極版nginx容器是不需要它了,運(yùn)行下面的命令來(lái)把這個(gè)nginx容器干掉(我真無(wú)情~哈哈):
docker rm 容器id
(5)做完上面的無(wú)情第四步之后,接下來(lái)是最重要的一步,我們要啟動(dòng)nginx鏡像。
docker run --name myNginx -p 80:80 -v /home/nginx/dist:/usr/share/nginx/html -v /home/etc/nginx:/etc/nginx -d 鏡像的id或者名字
解釋?zhuān)簡(jiǎn)?dòng)鏡像的時(shí)候,最重要的就是做好文件映射,這里有兩個(gè)地方我們需要映射的,一個(gè)是nginx鏡像中的:/usr/share/nginx/html,這個(gè)目錄是用于放具體的vue前端項(xiàng)目的嘛,我們就用將它映射到宿主機(jī)(你的服務(wù)器)中的這個(gè)目錄: /home/nginx/dist;還有一個(gè)是nginx鏡像中的: /etc/nginx,這個(gè)目錄里面有nginx的配置文件,咱們映射到宿主機(jī):/home/etc/nginx里面。映射了這個(gè)目錄以后,修改nginx的配置文件就可以不用再到容器里面了,可以直接到宿主機(jī)的/home/etc/nginx里面去修改nginx的配置文件。
(6)咱們繼續(xù)看看怎么到宿主機(jī)上修改nginx的配置文件:
cd /home/etc/nginx/conf.d
到這個(gè)目錄下,我們可以看到一個(gè): default.conf,是的,就是它,這個(gè)文件就是配置nginx的關(guān)鍵文件。

然后就是咱們build的前端項(xiàng)目只要上傳到宿主機(jī)中的: /home/nginx/dist里面即可,就像下面這樣。

最后咱們可以重啟一下nginx容器,看看有沒(méi)有生效。訪(fǎng)問(wèn)地址是:你的ip地址:80
3. 總結(jié)
廢話(huà)很多,最重要的就是要想提醒同學(xué)們要注意docker的文件映射,尤其docker的啟動(dòng)命令中,不要看到很長(zhǎng)就懶得仔細(xì)看,一股腦就復(fù)制到服務(wù)器上執(zhí)行。好了,以上就是我的分享,如果有問(wèn)題咱們?cè)u(píng)論區(qū)見(jiàn)~
到此這篇關(guān)于docker安裝nginx并部署前端項(xiàng)目的文章就介紹到這了,更多相關(guān)docker安裝nginx部署項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker安裝Jenkins并部署Maven項(xiàng)目詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于Docker安裝Jenkins并部署Maven項(xiàng)目的相關(guān)資料,持續(xù)集成、持續(xù)交付不僅可以提示開(kāi)發(fā)效率,還可以節(jié)省很多測(cè)試和運(yùn)維的成本,需要的朋友可以參考下2023-12-12
docker 數(shù)據(jù)目錄遷移的兩種實(shí)現(xiàn)方法
本文主要介紹了docker 數(shù)據(jù)目錄遷移的兩種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
關(guān)于docker安全之Docker-TLS加密通訊問(wèn)題
這篇文章主要介紹了docker安全之Docker-TLS加密通訊,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
kali安裝docker及搭建漏洞環(huán)境的詳細(xì)教程
Docker?是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化,本文重點(diǎn)給大家介紹kali安裝docker及搭建漏洞環(huán)境的過(guò)程,感興趣的朋友一起看看吧2022-05-05
Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟
這篇文章主要介紹了Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
使用?Docker?Compose?構(gòu)建復(fù)雜的多容器?App的方法
Docker Compose 工具相當(dāng)于 C/C++ 的 make 工具,使用 make 需要 Makefile,所有的編譯鏈接設(shè)置都在Makefile 中指定,不需要為了運(yùn)行程序而每次都在終端手動(dòng)輸入長(zhǎng)串的指令,這篇文章主要介紹了使用?Docker?Compose?構(gòu)建復(fù)雜的多容器?App,需要的朋友可以參考下2022-04-04
Docker安裝jenkins實(shí)現(xiàn)微服務(wù)多模塊打包的示例代碼
本文主要介紹了Docker安裝jenkins實(shí)現(xiàn)微服務(wù)多模塊打包的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
在CentOS啟動(dòng)時(shí)自動(dòng)加載內(nèi)核模塊overlayfs操作
這篇文章主要介紹了在CentOS啟動(dòng)時(shí)自動(dòng)加載內(nèi)核模塊overlayfs操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11

