主頁 > 知識(shí)庫(kù) > 詳解如何使用Docker部署一個(gè)web項(xiàng)目并打包成鏡像文件

詳解如何使用Docker部署一個(gè)web項(xiàng)目并打包成鏡像文件

熱門標(biāo)簽:智能手機(jī) 美圖手機(jī) 阿里云 檢查注冊(cè)表項(xiàng) 網(wǎng)站建設(shè) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng)

docker基本入門以后,可以試試打包docker鏡像與dockerfile了

docker鏡像

docker hub倉(cāng)庫(kù)有2類倉(cāng)庫(kù),用戶倉(cāng)庫(kù)和頂層倉(cāng)庫(kù),用戶倉(cāng)庫(kù)由docker用戶創(chuàng)建的,頂層倉(cāng)庫(kù)由docker內(nèi)部的人來管理的。倉(cāng)庫(kù)里存放的是鏡像文件,那么問題來了 ,怎么去創(chuàng)建鏡像呢?

how to create image

構(gòu)建docker鏡像的有2種方法:

1.使用docker commit命令。

2.使用docker build 命令和Dockerfile文件。在這里并不推薦使用docker commit命令,而應(yīng)該使用更靈活,更強(qiáng)大的Dockerfile來構(gòu)建鏡像..

1.創(chuàng)建一個(gè)centos鏡像

通過命令下載dockerhub上的官方鏡像

docker pull centos

2.創(chuàng)建一個(gè)基于centos鏡像的容器

通過命令docker images查看服務(wù)器上已有的鏡像 

通過命令

docker run -dit -p 4000:8080 centos鏡像名或id 

創(chuàng)建一個(gè)基于centos鏡像的容器在后臺(tái)運(yùn)行并將服務(wù)器的4000端口映射到容器中的8080端口

3.將jdk,tomcat的安裝包和web項(xiàng)目上傳至鏡像中

docker cp /usr/local/jdk安裝包 容器名:容器地址
docker cp /usr/local/tomcat安裝包 容器名:容器地址
docker cp /usr/local/web項(xiàng)目 容器名:容器地址1

4.進(jìn)入容器并操作

通過命令

docker attach 容器名或id 

進(jìn)入容器中

安裝jdk和tomcat的步驟和在linux中安裝步驟一致,你可以把容器當(dāng)成一個(gè)linux虛擬機(jī), 之后啟動(dòng)tomcat服務(wù)

5.驗(yàn)證

在瀏覽器上輸入http://服務(wù)器ip:4000,如果出現(xiàn)tomcat頁面則成功了

6.將容器打包成鏡像

docker commit -a "runoob.com" -m "my apache" 容器名稱或id 打包的鏡像名稱:標(biāo)簽 

OPTIONS說明:
-a :提交的鏡像作者;
-c :使用Dockerfile指令來創(chuàng)建鏡像;
-m :提交時(shí)的說明文字;
-p :在commit時(shí),將容器暫停。

7.上傳至你的dockerhub

使用您的Docker ID登錄 

如果您沒有Docker帳戶,請(qǐng)?jiān)赾loud.docker.com注冊(cè)一個(gè) 。記下你的用戶名。 

登錄到本地計(jì)算機(jī)上的Docker公共注冊(cè)表。

docker login

標(biāo)記鏡像 

將本地映像與注冊(cè)表上的存儲(chǔ)庫(kù)相關(guān)聯(lián)的符號(hào)是 username/repository:tag。該標(biāo)簽是可選的,但推薦使用,因?yàn)檫@是注冊(cè)管理機(jī)構(gòu)為Docker鏡像提供版本的機(jī)制。給存儲(chǔ)庫(kù)并為上下文標(biāo)記有意義的名稱,例如 get-started:part2。這將把圖像放入get-started存儲(chǔ)庫(kù)并標(biāo)記為part2。 

現(xiàn)在,把它們放在一起來標(biāo)記鏡像。運(yùn)行docker tag image您的用戶名,存儲(chǔ)庫(kù)和標(biāo)簽名稱,以便鏡像將上傳到您想要的目的地。該命令的語法是:

docker tag image username/repository:tag

例如:

docker tag friendlyhello john/get-started:part2

運(yùn)行docker鏡像以查看新標(biāo)記的鏡像。(你也可以用docker image ls。) 

docker images 
REPOSITORY TAG IMAGE ID CREATED SIZE 
 friendlyhello latest d9e555c53008 3 minutes ago 195MB 
 john/get-started part2 d9e555c53008 3 minutes ago 195MB 
 python 2.7-slim 1c7128a655f6 5 days ago 183MB 
…

發(fā)布鏡像 

將您的標(biāo)記鏡像上傳到存儲(chǔ)庫(kù):

docker push username/repository:tag

8.下載鏡像

一旦完成,這個(gè)上傳的結(jié)果是公開的。如果你登錄到Docker Hub,你將會(huì)看到那個(gè)新的鏡像和它的pull命令。 

從遠(yuǎn)程存儲(chǔ)庫(kù)中提取并運(yùn)行映像 

從現(xiàn)在起,您可以使用docker run此命令在任何機(jī)器上使用并運(yùn)行您的應(yīng)用程序:

docker run -p 4000:80 username/repository:tag

如果圖像在機(jī)器上本地不可用,Docker將從存儲(chǔ)庫(kù)中取出。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:山南 煙臺(tái) 懷化 賀州 通遼 湘潭 黃山 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解如何使用Docker部署一個(gè)web項(xiàng)目并打包成鏡像文件》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266