摘要:準(zhǔn)備應(yīng)用我們?cè)诒緳C(jī)新建一個(gè)項(xiàng)目文件夾,在里面創(chuàng)建我們的靜態(tài)資源文件,隨后往隨便寫點(diǎn)內(nèi)容,執(zhí)行下命令獲取一下當(dāng)前文件夾所在路徑。現(xiàn)在訪問(wèn)便可以得到同端口一樣的效果了,試試看看目前運(yùn)行中的信息吧。
本篇概覽
在本小節(jié)里,我們將從Image倉(cāng)庫(kù)里拉取并運(yùn)行Nginx,嘗試下將本地文件和container文件相映射,Nginx相比hello-world多了些啟動(dòng)參數(shù),我們將逐個(gè)攻破。
準(zhǔn)備應(yīng)用我們?cè)诒緳C(jī)新建一個(gè)項(xiàng)目文件夾,在里面創(chuàng)建我們的靜態(tài)資源文件,隨后往index.html隨便寫點(diǎn)內(nèi)容,執(zhí)行下pwd命令獲取一下當(dāng)前文件夾所在路徑。
mkdir class01 && cd class01 touch index.html pwd獲取Nginx Image
我們打開國(guó)內(nèi)的Docker Hub鏡像站,搜索Nginx,第一個(gè)便是我們所需要的,打開Image詳情頁(yè),會(huì)有詳細(xì)地使用說(shuō)明,我們先使用命令行方式去運(yùn)行這個(gè)Image。
docker pull nginx docker run --name my-nginx -d -p 3000:80 nginx
命令解釋:
--name為當(dāng)前創(chuàng)建的container起一個(gè)好記的昵稱,默認(rèn)情況下docker會(huì)隨機(jī)分配一個(gè)昵稱
-d即Deamon,能夠讓進(jìn)程在后臺(tái)運(yùn)行而不阻塞命令行。
-p端口暴露,nginx通常運(yùn)行在80端口,為了能夠在主機(jī)訪問(wèn)container里的nginx,所以需要進(jìn)行端口暴露,格式為:[host port]:[container port]
這時(shí)我們?cè)诒緳C(jī)訪問(wèn)localhost:3000,將會(huì)看到nginx的歡迎頁(yè)。
掛載本機(jī)目錄
如果想讓nginx伺服本機(jī)的某個(gè)目錄,我們需要加上-v命令,-v即Volume,我們希望nginx能夠以當(dāng)前文件夾作為資源目錄,這個(gè)過(guò)程稱為掛載,通過(guò)[Host dir]:[container dir]的形式將主機(jī)的目錄覆蓋container里面的目錄,當(dāng)然b目錄本來(lái)的內(nèi)容不會(huì)丟失,當(dāng)我們不選擇掛載時(shí),其又將會(huì)生效。
docker ps # 顯示當(dāng)前正在運(yùn)行的container,我們可以找到剛剛創(chuàng)建的my-nginx docker stop my-nginx docker rm my-nginx # 停止并刪除my-nginx docker run --name my-nginx -v [your pwd]:/usr/share/nginx/html:ro -d -p 3000:80 nginx
添加的[your pwd]為最開始創(chuàng)建的index.html所在的文件夾,如~/coding/docker-learn/class01
命令解釋:
:ro意為Read Only,對(duì)container增加只讀權(quán)限,默認(rèn)為可讀寫
我們?cè)俅卧L問(wèn)localhost:3000,顯示的內(nèi)容已經(jīng)是我們創(chuàng)建的index.html了。
復(fù)用掛載的目錄
上一步我們?yōu)?b>my-nginx這個(gè)container掛載了數(shù)據(jù)卷,如果我們新的container也想用和my-nginx相同的數(shù)據(jù)卷呢?我們可以使用--volumns-from來(lái)復(fù)用數(shù)據(jù)卷地址。
docker run --name my-nginx1 --volumes-from my-nginx -d -p 3001:80 nginx
現(xiàn)在訪問(wèn)localhost:3001便可以得到同3000端口一樣的效果了,試試docker ps看看目前運(yùn)行中的container信息吧。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26974.html
摘要:經(jīng)過(guò)我們的處理就像在倉(cāng)庫(kù)里修改了文件一樣,將修改后的打快照固化為,這便是生態(tài)的流動(dòng)源泉。我們啟動(dòng)過(guò)的所有的將會(huì)在這里顯示。輸入,這一步我們不僅僅啟動(dòng)了一個(gè),還傳輸了一個(gè)命令進(jìn)去執(zhí)行了。我們?cè)囍俅螁?dòng)一個(gè)容器。 Docker從哪兒下載? 由于我們?cè)L問(wèn)Docker官網(wǎng)一般情況下會(huì)非常慢,所以我們不得不把目光投向國(guó)內(nèi)的鏡像站,還好,DaoCloud為我們掃清了一系列障礙,點(diǎn)擊前往。 你只需...
摘要:容器是又一核心概念。啟動(dòng)已終止容器可以利用命令,直接將一個(gè)已經(jīng)終止的容器啟動(dòng)運(yùn)行。此外,當(dāng)容器中指定的應(yīng)用終結(jié)時(shí),容器也自動(dòng)終止。只用參數(shù)時(shí),由于沒(méi)有分配偽終端,界面沒(méi)有我們熟悉的命令提示符,但命令執(zhí)行結(jié)果仍然可以返回。 容器是 Docker 又一核心概念。簡(jiǎn)單的說(shuō),容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用,以及它們的運(yùn)行態(tài)環(huán)境。對(duì)應(yīng)的,虛擬機(jī)可以理解為模擬運(yùn)行的一整套操作系統(tǒng)(提供了運(yùn)行態(tài)環(huán)境...
摘要:了解開源的容器平臺(tái)用于分享管理容器的平臺(tái)使用客戶端服務(wù)器架構(gòu)模式。守護(hù)進(jìn)程會(huì)處理復(fù)雜繁重的任務(wù),例如建立運(yùn)行發(fā)布你的容器??蛻舳撕褪刈o(hù)進(jìn)程之間通過(guò)或者進(jìn)行通信。 Step1:了解Docker 開源的容器平臺(tái):Golang https://github.com/docker/dockerDocker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平臺(tái) -- D...
閱讀 2604·2021-09-22 15:27
閱讀 3333·2021-09-03 10:32
閱讀 3596·2021-09-01 11:38
閱讀 2613·2019-08-30 15:56
閱讀 2293·2019-08-30 13:01
閱讀 1605·2019-08-29 12:13
閱讀 1517·2019-08-26 13:33
閱讀 983·2019-08-26 13:30