十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
Docker容器是一個(gè)開(kāi)源的應(yīng)用容器引擎,它能夠自動(dòng)執(zhí)行重復(fù)性任務(wù),例如搭建和配置開(kāi)發(fā)環(huán)境,用戶可以方便地創(chuàng)建和使用容器,還可以進(jìn)行版本管理、復(fù)制、分享、修改。有很多初學(xué)云計(jì)算的同學(xué)不清楚Docker容器的使用方法以及應(yīng)用場(chǎng)景,接下來(lái)就給大家簡(jiǎn)單分享一下云計(jì)算學(xué)習(xí)路線圖素材課件:Docker容器應(yīng)用場(chǎng)景分析。

在衛(wèi)濱等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷,外貿(mào)網(wǎng)站制作,衛(wèi)濱網(wǎng)站建設(shè)費(fèi)用合理。
Docker是一個(gè)使用 Go 語(yǔ)言開(kāi)發(fā)的,并且開(kāi)源的應(yīng)用容器引擎,基于LXC(Linux Container)內(nèi)核虛擬化技術(shù)實(shí)現(xiàn),提供一系列更強(qiáng)的功能,比如鏡像、Dockerfile等;
Docker理念是將應(yīng)用及依賴包打包到一個(gè)可移植的容器中,可發(fā)布到任意Linux發(fā)行版的Docker引擎上,使用沙箱機(jī)制運(yùn)行程序,程序之間相互隔離;
Docker采用C/S架構(gòu),Dcoker daemon作為服務(wù)端接受來(lái)自客戶端請(qǐng)求,并處理這些請(qǐng)求,比如創(chuàng)建、運(yùn)行容器等;客戶端為用戶提供一系列指令與Docker Daemon交互;
Docker使用Google公司推出的Go語(yǔ)言進(jìn)行開(kāi)發(fā)實(shí)現(xiàn),基于Linux內(nèi)核的cgroup、namespace以及AUFS類的UnionFS等技術(shù),對(duì)進(jìn)程進(jìn)行封裝隔離,屬于操作系統(tǒng)層面的虛擬化技術(shù)。目前Docker容器的應(yīng)用場(chǎng)景包括以下幾種:
Docker部署MongoDB環(huán)境
1、遠(yuǎn)程獲取Mongodb鏡像
docker pull mongo
2、創(chuàng)建一個(gè)docker容器
docker run -p 27017:27017 -v /data/db --name docker_mongodb -d mongo
在上面的命令中,幾個(gè)命令參數(shù)的詳細(xì)解釋如下:
-p 指定容器的端口映射(特殊說(shuō)明:前面的是本機(jī)端口,后面的是容器的端口,添加-p參數(shù)主動(dòng)將容器內(nèi)部端口給暴漏出來(lái),將服務(wù)器的27017端口映射到容器的27017端口,這樣在外網(wǎng)就可通過(guò) 服務(wù)器的27017端口訪問(wèn)到我們的服務(wù),Mongodb默認(rèn)端口為27017。
-v 為設(shè)置容器的掛載目錄,這里是將即本機(jī)中的目錄掛載到容器中的/data/db中,作為Mongodb的存儲(chǔ)目錄
--name 為設(shè)置該容器的名稱
-d 設(shè)置容器以守護(hù)進(jìn)程方式運(yùn)行
3、測(cè)試連接容器中的Mongodb
Docker部署Node項(xiàng)目完整流程(DockerFile實(shí)踐)
1、使用Koa2初始化一個(gè)Node項(xiàng)目,通過(guò)Mongose中間件連接Mogodb數(shù)據(jù)庫(kù),實(shí)現(xiàn)一個(gè)基礎(chǔ)接口Mogodb插入數(shù)據(jù)。
2、在項(xiàng)目根目錄下創(chuàng)建.dockerignore文件,把不需要打包進(jìn)Docker Image里的文件進(jìn)行過(guò)濾:
.git
node_modules
3、在項(xiàng)目的根目錄中創(chuàng)建Dockerfile文件,部署Node項(xiàng)目的時(shí)候,會(huì)有一個(gè)Dockerfile 文件配置。
FROM node:10.0
RUN mkdir -p /usr/src/nodejs/
WORKDIR /usr/src/nodejs/
COPY package.json /usr/src/app/package.json
RUN cd /usr/src/app/
RUN npm i
COPY . /usr/src/nodejs/
EXPOSE 3000
CMD npm start
4、代碼環(huán)節(jié)暫且告一段落,將帶有Dockerfile提交到github或gitlab等。
5、首先檢出代碼,把項(xiàng)目克隆到指定目錄。
6、進(jìn)入目錄構(gòu)建。
7、通過(guò)鏡像dockerstudy創(chuàng)建一個(gè)容器并運(yùn)行。
8、進(jìn)入容器。
9、日志檢查查看運(yùn)行日志。
優(yōu)雅部署方式 DockerCompose
Compose是Docker官方開(kāi)源的一個(gè)項(xiàng)目,可以管理多個(gè)Docker容器組成一個(gè)應(yīng)用,例如Web服務(wù),除了服務(wù)本身還有數(shù)據(jù)庫(kù)、redis、Nginx等一系列相關(guān)聯(lián)服務(wù)需要安裝。有個(gè)Compose的支持,我們只需要定義一個(gè)YAML格式的配置文件(docker-compose.yml),來(lái)編寫一個(gè)項(xiàng)目所需要的多個(gè)容器配置及調(diào)用關(guān)系,通過(guò)簡(jiǎn)單的命令即可同時(shí)開(kāi)始或者關(guān)閉這些容器。Compose定位是定義和運(yùn)行多個(gè)Docker容器的應(yīng)用。