linux下使用docker容器部署web應(yīng)用

一已球、認(rèn)識(shí)docker

Docker 是一個(gè)開源的應(yīng)用容器引擎渺鹦,基于?Go 語言?并遵從 Apache2.0 協(xié)議開源晾腔。

Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)意推、可移植的容器中舀凛,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。

容器是完全使用沙箱機(jī)制抄淑,相互之間不會(huì)有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低屠凶。

二、Docker的應(yīng)用場景

Web 應(yīng)用的自動(dòng)化打包和發(fā)布肆资。

自動(dòng)化測(cè)試和持續(xù)集成矗愧、發(fā)布。

在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺(tái)應(yīng)用郑原。

從頭編譯或者擴(kuò)展現(xiàn)有的 OpenShift 或 Cloud Foundry 平臺(tái)來搭建自己的 PaaS 環(huán)境唉韭。


三、Docker 的優(yōu)點(diǎn)

Docker 是一個(gè)用于開發(fā)犯犁,交付和運(yùn)行應(yīng)用程序的開放平臺(tái)属愤。Docker 使您能夠?qū)?yīng)用程序與基礎(chǔ)架構(gòu)分開,從而可以快速交付軟件酸役。借助 Docker住诸,您可以與管理應(yīng)用程序相同的方式來管理基礎(chǔ)架構(gòu)。通過利用 Docker 的方法來快速交付涣澡,測(cè)試和部署代碼只壳,您可以大大減少編寫代碼和在生產(chǎn)環(huán)境中運(yùn)行代碼之間的延遲。

1暑塑、快速吼句,一致地交付您的應(yīng)用程序

Docker 允許開發(fā)人員使用您提供的應(yīng)用程序或服務(wù)的本地容器在標(biāo)準(zhǔn)化環(huán)境中工作,從而簡化了開發(fā)的生命周期事格。

容器非常適合持續(xù)集成和持續(xù)交付(CI / CD)工作流程惕艳,請(qǐng)考慮以下示例方案:

您的開發(fā)人員在本地編寫代碼,并使用 Docker 容器與同事共享他們的工作驹愚。

他們使用 Docker 將其應(yīng)用程序推送到測(cè)試環(huán)境中远搪,并執(zhí)行自動(dòng)或手動(dòng)測(cè)試。

當(dāng)開發(fā)人員發(fā)現(xiàn)錯(cuò)誤時(shí)逢捺,他們可以在開發(fā)環(huán)境中對(duì)其進(jìn)行修復(fù)谁鳍,然后將其重新部署到測(cè)試環(huán)境中,以進(jìn)行測(cè)試和驗(yàn)證劫瞳。

測(cè)試完成后倘潜,將修補(bǔ)程序推送給生產(chǎn)環(huán)境,就像將更新的鏡像推送到生產(chǎn)環(huán)境一樣簡單志于。


四涮因、好了簡單介紹了下docker,下面進(jìn)入正題

1伺绽、linux系統(tǒng)centos7.2 作為宿主機(jī)

2养泡、安裝docker容器

步驟:

2.1嗜湃、安裝需要的依賴包--命令:sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.2、設(shè)置阿里云鏡像源--命令:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.3购披、安裝 Docker-CE--命令:sudo yum install docker-ce

2.4刚陡、啟動(dòng)docker服務(wù)--命令:service docker start

好了到這里docker容器已經(jīng)下載安裝好了屿附,下面就可以在docker里安裝需要的環(huán)境了挺份。


3、docker基本命令

3.1优训、設(shè)置docker開機(jī)自啟動(dòng)--命令:sudo systemctl enable docker?

3.2各聘、docker重啟動(dòng)--命令:docker restart docker容器名

3.2、查看運(yùn)行的容器--命令:docker ps 【正在運(yùn)行的docker容器】

3.3早敬、查看所有的容器--命令:docker ps -a【包含已經(jīng)停止的容器】

3.4、指定容器啟動(dòng)--命令:docker start -i docker容器名

3.5琐驴、刪除docker容器--命令:docker rm docker容器名

3.6、創(chuàng)建并啟動(dòng)docker容器--命令:docker run -p 0.0.0.0::8888:80 -it --name=sx centos /bin/bash

此處說明:設(shè)置docker容器端口映射四種方式:

3.6.1苍姜、docker run -p 80 -i -t centos /bin/bash 【該方式指定容器端口-宿主機(jī)端口隨機(jī)】

3.6.2够委、docker run -p 8080:80 -i -t centos /bin/bash【該方式指定宿主機(jī)端口:容器端口】

3.6.3、docker run -p 0.0.0.0:80 -i -t centos /bin/bash 【該方式指定宿主機(jī)IP:容器端口】

3.6.4、docker run -p 0.0.0.0:8888:80 -i -t centos /bin/bash 【該方式指定宿主機(jī)IP:端口:容器端口】常用這種方式

通過3.6.4命令創(chuàng)建好容器后琅束,外部可以通過訪問宿主機(jī)IP:8080端口映射到docker容器的80端口涩禀。

3.7屿岂、守護(hù)式容器快捷退出鍵:CTRL+Q CTRL+P【此快捷鍵退出后爷怀,程序后臺(tái)正常運(yùn)行】

3.8运授、docker利用iptables防火墻技術(shù)實(shí)現(xiàn)用戶IP權(quán)限訪問喇完。

3.9、查看docker信息--命令:docker inspect docker容器名

3.10则涯、進(jìn)入運(yùn)行的docker容器--命令:docker attach docker容器

3.11复局、Linux與docker之間的文件傳輸--命令:

3.11.1:--宿主機(jī)Linux文件復(fù)制到容器docker中的命令:docker cp 要拷貝的文件路徑 容器名:要拷貝到容器里面對(duì)應(yīng)的路徑

示例:docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js

3.11.2--docker容器復(fù)制到宿主機(jī)Linux中的命令:docker cp 容器名:要拷貝的文件在容器里面的路徑 要拷貝到宿主機(jī)的相應(yīng)路徑

示例:docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt

3.12冲簿、離線下載docker鏡像復(fù)制到另一臺(tái)機(jī)器上

示例命令:打包鏡像:docker save +鏡像名 > 下載的路徑/打包名稱.tar(.tar包)

復(fù)制到另一臺(tái)名:docker load? < .tar包的位置

3.13、刪除鏡像名:docker rmi +鏡像ID

3.14亿昏、查看所有TCP端口--命令:netstat -ntlp


4峦剔、docker容器部署vue前端web項(xiàng)目

4.1、進(jìn)入docker容器:docker attach sx【docker容器名】 如圖:

a.安裝需要的環(huán)境角钩,docker默認(rèn)沒有vim編譯器--yum install vim?

b.安裝nginx--yum install nginx?

c.窗口文件夾用于存放web項(xiàng)目--mkdir /var/webapps/html

d.修改nginx的nginx.config配置文件路徑吝沫,改為項(xiàng)目的/var/webapps/html/dist

e.啟動(dòng)nginx--命令容器內(nèi):nginx。啟動(dòng)后外部可通過宿主機(jī)的ip:8888[上面設(shè)置的]訪問了递礼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惨险,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脊髓,更是在濱河造成了極大的恐慌辫愉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件供炼,死亡現(xiàn)場離奇詭異一屋,居然都是意外死亡窘疮,警方通過查閱死者的電腦和手機(jī)袋哼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闸衫,“玉大人涛贯,你說我怎么就攤上這事∥党觯” “怎么了弟翘?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長骄酗。 經(jīng)常有香客問我稀余,道長,這世上最難降的妖魔是什么趋翻? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任睛琳,我火速辦了婚禮,結(jié)果婚禮上踏烙,老公的妹妹穿的比我還像新娘师骗。我一直安慰自己,他們只是感情好讨惩,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布辟癌。 她就那樣靜靜地躺著,像睡著了一般荐捻。 火紅的嫁衣襯著肌膚如雪黍少。 梳的紋絲不亂的頭發(fā)上寡夹,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音厂置,去河邊找鬼要出。 笑死,一個(gè)胖子當(dāng)著我的面吹牛农渊,可吹牛的內(nèi)容都是我干的患蹂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼砸紊,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼传于!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起醉顽,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤沼溜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后游添,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體系草,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年唆涝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了找都。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡廊酣,死狀恐怖能耻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亡驰,我是刑警寧澤晓猛,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站凡辱,受9級(jí)特大地震影響戒职,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜透乾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一洪燥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧续徽,春花似錦蚓曼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至客情,卻和暖如春其弊,著一層夾襖步出監(jiān)牢的瞬間癞己,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工梭伐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痹雅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓糊识,卻偏偏與公主長得像绩社,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赂苗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容