主頁(yè) > 知識(shí)庫(kù) > Docker及Docker-Compose的實(shí)例用法

Docker及Docker-Compose的實(shí)例用法

熱門標(biāo)簽:福州語(yǔ)音電銷機(jī)器人招商 菏澤自動(dòng)電銷機(jī)器人公司 淘寶辦理400電話是多少 滴滴急救中心地圖標(biāo)注 艾澤拉斯地圖標(biāo)注 申請(qǐng)400電話收費(fèi)標(biāo) 外呼線路隨意切換嗎 北海智能電銷機(jī)器人公司 網(wǎng)絡(luò)電話外呼系統(tǒng)開(kāi)發(fā)

Docker是一個(gè)開(kāi)源的容器引擎,它有助于更快地交付應(yīng)用。方便快捷已經(jīng)是 Docker的最大優(yōu)勢(shì),過(guò)去需要用數(shù)天乃至數(shù)周的任務(wù),在Docker容器的處理下,只需要數(shù)秒就能完成。

架構(gòu)

  • Docker daemon( Docker守護(hù)進(jìn)程):Docker daemon是一個(gè)運(yùn)行在宿主機(jī)( DOCKER-HOST)的后臺(tái)進(jìn)程??赏ㄟ^(guò) Docker客戶端與之通信。
  • Client( Docker客戶端):Docker客戶端是 Docker的用戶界面,它可以接受用戶命令和配置標(biāo)識(shí),并與 Docker daemon通信。圖中, docker build等都是 Docker的相關(guān)命令。
  • Images( Docker鏡像):Docker鏡像是一個(gè)只讀模板,它包含創(chuàng)建 Docker容器的說(shuō)明。它和系統(tǒng)安裝光盤有點(diǎn)像,使用系統(tǒng)安裝光盤可以安裝系統(tǒng),同理,使用Docker鏡像可以運(yùn)行 Docker鏡像中的程序。
  • Container(容器):容器是鏡像的可運(yùn)行實(shí)例。鏡像和容器的關(guān)系有點(diǎn)類似于面向?qū)ο笾?,類和?duì)象的關(guān)系??赏ㄟ^(guò) Docker API或者 CLI命令來(lái)啟停、移動(dòng)、刪除容器。
  • Registry:Docker Registry是一個(gè)集中存儲(chǔ)與分發(fā)鏡像的服務(wù)。構(gòu)建完 Docker鏡像后,就可在當(dāng)前宿主機(jī)上運(yùn)行。但如果想要在其他機(jī)器上運(yùn)行這個(gè)鏡像,就需要手動(dòng)復(fù)制。此時(shí)可借助Docker Registry來(lái)避免鏡像的手動(dòng)復(fù)制。一個(gè) Docker Registry可包含多個(gè) Docker倉(cāng)庫(kù),每個(gè)倉(cāng)庫(kù)可包含多個(gè)鏡像標(biāo)簽,每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè) Docker鏡像。這跟 Maven的倉(cāng)庫(kù)有點(diǎn)類似,如果把 Docker Registry比作Maven倉(cāng)庫(kù)的話,那么 Docker倉(cāng)庫(kù)就可理解為某jar包的路徑,而鏡像標(biāo)簽則可理解為jar包的版本號(hào)。Docker Registry可分為公有Docker Registry和私有Docker Registry。 最常用的DockerRegistry莫過(guò)于官網(wǎng)的Docker Hub, 這也是默認(rèn)的Docker Registry。 Docker Hub上存放著大量?jī)?yōu)秀的鏡像, 我們可使用Docker命令下載并使用。

安裝

按照菜鳥(niǎo)的步驟,使用yum安裝即可。

常用命令

鏡像相關(guān)

  • docker search java:在Docker Hub(或阿里鏡像)倉(cāng)庫(kù)中搜索關(guān)鍵字(如java)的鏡像
  • docker pull java:8:從倉(cāng)庫(kù)中下載鏡像,若要指定版本,則要在冒號(hào)后指定
  • docker images:列出已經(jīng)下載的鏡像
  • docker rmi java:刪除本地鏡像
  • docker build:構(gòu)建鏡像

容器相關(guān)

  • docker run -d -p 91:80 nginx :在后臺(tái)運(yùn)行nginx,若沒(méi)有鏡像則先下載,并將容器的80端口映射為宿主機(jī)的91端口。
  • -d:后臺(tái)運(yùn)行
  • -P:隨機(jī)端口映射
  • -p:指定端口映射
  • -net:網(wǎng)絡(luò)模式
  • docker ps:列出運(yùn)行中的容器
  • docker ps -a :列出所有的容器
  • docker stop 容器id:停止容器
  • docker kill 容器id:強(qiáng)制停止容器
  • docker start 容器id:?jiǎn)?dòng)已停止的容器
  • docker inspect 容器id:查看容器的所有信息
  • docker container logs 容器id:查看容器日志
  • docker top 容器id:查看容器里的進(jìn)程
  • docker exec -it 容器id /bin/bash:進(jìn)入容器
  • exit:退出容器
  • docker rm 容器id:刪除已停止的容器
  • docker rm -f 容器id:刪除正在運(yùn)行的容器

所有命令

  • docker
  • docker COMMAND --help

構(gòu)建鏡像

  • 確定鏡像模板:如java、nginx
  • 新建Dockerfile文件
  • 使用Dockerfile的指令完善Dockerfile的內(nèi)容
  • 在Dockerfile文件的所在路徑執(zhí)行docker build -t imageName:tag .,-t指定鏡像名稱,末尾的點(diǎn)標(biāo)識(shí)Dockerfile文件的路徑
  • 執(zhí)行docker run -d -p 92:80 imageName:tag即可

備注:RUN命令在 image 文件的構(gòu)建階段執(zhí)行,執(zhí)行結(jié)果都會(huì)打包進(jìn)入 image 文件;CMD命令則是在容器啟動(dòng)后執(zhí)行。另外,一個(gè) Dockerfile 可以包含多個(gè)RUN命令,但是只能有一個(gè)CMD命令。注意,指定了CMD命令以后,docker container run命令就不能附加命令了,否則它會(huì)覆蓋CMD命令。

Docker Compose

Docker Compose是 docker 提供的一個(gè)命令行工具,用來(lái)定義和運(yùn)行由多個(gè)容器組成的應(yīng)用。使用 compose,我們可以通過(guò) YAML 文件聲明式的定義應(yīng)用程序的各個(gè)服務(wù),并由單個(gè)命令完成應(yīng)用的創(chuàng)建和啟動(dòng)。

以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),如果有任何補(bǔ)充可以聯(lián)系腳本之家小編。

標(biāo)簽:資陽(yáng) 三沙 丹東 延安 混顯 滄州 亳州 賀州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker及Docker-Compose的實(shí)例用法》,本文關(guān)鍵詞  Docker,及,Docker-Compose,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker及Docker-Compose的實(shí)例用法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Docker及Docker-Compose的實(shí)例用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章