佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Docker及Docker-Compose的實例用法

Docker及Docker-Compose的實例用法

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

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

架構(gòu)

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

安裝

按照菜鳥的步驟,使用yum安裝即可。

常用命令

鏡像相關(guān)

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

容器相關(guān)

  • docker run -d -p 91:80 nginx :在后臺運行nginx,若沒有鏡像則先下載,并將容器的80端口映射為宿主機的91端口。
  • -d:后臺運行
  • -P:隨機端口映射
  • -p:指定端口映射
  • -net:網(wǎng)絡(luò)模式
  • docker ps:列出運行中的容器
  • docker ps -a :列出所有的容器
  • docker stop 容器id:停止容器
  • docker kill 容器id:強制停止容器
  • docker start 容器id:啟動已停止的容器
  • 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:刪除正在運行的容器

所有命令

  • docker
  • docker COMMAND --help

構(gòu)建鏡像

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

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

Docker Compose

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker及Docker-Compose的實例用法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    五华县| 宁海县| 合江县| 通州市| 杭州市| 襄汾县| 潞城市| 龙游县| 玛纳斯县| 达拉特旗| 马关县| 宁晋县| 金山区| 商丘市| 庐江县| 涡阳县| 霍林郭勒市| 枝江市| 敦化市| 得荣县| 靖远县| 双牌县| 沿河| 加查县| 疏勒县| 岳普湖县| 宜春市| 丹寨县| 施秉县| 南昌市| 韩城市| 沙坪坝区| 禄丰县| 浙江省| 临泽县| 潞城市| 新建县| 南江县| 留坝县| 阜平县| 视频|