Docker初體驗(yàn)

概念和理解

Docker是一個(gè)容器引擎呵曹。doker官方網(wǎng)站
一個(gè)容器實(shí)際上是運(yùn)行在宿主機(jī)上的一個(gè)進(jìn)程稠通。只不過在啟動(dòng)這個(gè)進(jìn)程之前赠幕,進(jìn)行了一些特別的處理辐宾,讓這個(gè)進(jìn)程進(jìn)入一個(gè)虛擬的環(huán)境狱从。
每個(gè)docker容器運(yùn)行在獨(dú)立的虛擬環(huán)境中,最重要的是文件系統(tǒng)的讀寫系統(tǒng)叠纹。依賴于Linux內(nèi)涵的兩個(gè)特性:
Namespaces命名空間:是一種封裝的概念季研,提供了系統(tǒng)資源的隔離

  1. PID 進(jìn)程隔離
  2. NET 管理網(wǎng)絡(luò)接口
  3. IPC 管理跨進(jìn)程通信的訪問
  4. MNT 管理掛載點(diǎn)
  5. UTS 隔離內(nèi)核

Control groups控制組:用來分配資源,Linux kernel 2.6.24 版本開始擁有

  1. 資源限制:對(duì)進(jìn)程組進(jìn)行內(nèi)存使用限制
  2. 優(yōu)先級(jí)設(shè)置
  3. 資源計(jì)量
  4. 資源控制:可以將進(jìn)程組掛起和恢復(fù)

Docker容器的能力:

  1. 文件系統(tǒng)隔離
  2. 進(jìn)程隔離
  3. 網(wǎng)絡(luò)隔離
  4. 資源隔離和分組
aa
aa

目標(biāo):

  1. 輕量級(jí)的建模方式
  2. 職責(zé)與邏輯分離
  3. 快速高效開發(fā)生命周期
  4. 鼓勵(lì)使用面向服務(wù)的框架

什么場(chǎng)合可以使用:

  1. 使用Docker容器進(jìn)行開發(fā)誉察,測(cè)試与涡,部署服務(wù)
  2. 創(chuàng)建隔離的運(yùn)行環(huán)境
  3. 搭建測(cè)試環(huán)境,特別是集群環(huán)境
  4. 構(gòu)建Paas
  5. 提供Saas

安裝

# 確認(rèn)64位系統(tǒng)
uname -i
# 確認(rèn)Linux內(nèi)涵版本持偏,內(nèi)部版本必須>=3.10
uname -r
# 安裝在CentOS 7 
yum -y install docker
# 安裝在CentOS 6 
yum -y install docker-io

啟動(dòng)

# 啟動(dòng)
systemctl start docker.service
# 停止
systemctl stop docker.service
# 運(yùn)行命令的幫助
sudo docker help run

加速器

https://dashboard.daocloud.io/
https://cloud.docker.com

Docker核心概念

Docker是C/S架構(gòu)(客戶端驼卖,守護(hù)進(jìn)程)


整體示意圖
整體示意圖

有下面三個(gè)核心概念:

  1. 倉庫
    Registry概念:本地Registry,官方Registry
    保存用戶的鏡像鸿秆,Docker Hub是一個(gè)官方倉庫酌畜。減少構(gòu)建時(shí)間
    從官方倉庫拉取鏡像,可以使用daocloud提供的加速器服務(wù)
docker pull redis:2.8.19
  1. 鏡像
    Docker鏡像:暫時(shí)可以理解為目錄卿叽,是容器的源代碼桥胞,每一個(gè)容器啟動(dòng)的時(shí)候在鏡像中進(jìn)行復(fù)制,然后啟動(dòng)容器考婴。
    最底端是引導(dǎo)文件系統(tǒng) bootfs
    引導(dǎo)文件系統(tǒng) rootfs永遠(yuǎn)是只讀狀態(tài)贩虾,聯(lián)合加載(加載多個(gè)文件系統(tǒng),進(jìn)行疊加)
    基礎(chǔ)鏡像+聯(lián)合加載文件系統(tǒng)
# 查看鏡像
# 鏡像ID沥阱,鏡像tag整胃,鏡像倉庫,倉庫+tag可以唯一標(biāo)識(shí)一個(gè)鏡像
docker images
page
page
  1. 容器
    是啟動(dòng)和執(zhí)行階段,通過鏡像來啟動(dòng)屁使。鏡像中只讀層永遠(yuǎn)是只讀的在岂,在寫的時(shí)候進(jìn)行復(fù)制,生成副本
    Docker容器:守護(hù)式容器蛮寂,交互式容器
    參數(shù):
    -it 用于創(chuàng)建交互式容器
    -d 用于創(chuàng)建守護(hù)式容器
    -name 給容器指定名稱
  2. 試驗(yàn)一個(gè)web服務(wù)器
# 創(chuàng)建交互式容器
docker run -p 80 --name web -i -t ubuntu /bin/bash
# 安裝Nginx
apt-get update
apt-get install -y nginx
# 安裝vim
apt-get install -y vim
# 創(chuàng)建網(wǎng)站目錄
mkdir -p /var/www/html
cd /var/www/html
# vim創(chuàng)建一個(gè)靜態(tài)頁面
# nginx配置文件

鏡像

鏡像:名字蔽午,TAG
鏡像文件是分層的

  1. 可以使用pull命令從倉庫獲取鏡像
sudo docker pull registory.hub.docker.com/ubuntu:latest

從注冊(cè)服務(wù)器:registory.hub.docker.com
倉庫:ubuntu
標(biāo)記:latest

  1. 通過鏡像創(chuàng)建容器
sudo docker run -i -t ubuntu /bin/bash
  1. 查看鏡像信息
docker images

查看信息包括:倉庫,TAG酬蹋,唯一ID及老,創(chuàng)建時(shí)間,鏡像大小
通過倉庫和TAG可以唯一確定一個(gè)鏡像
可以為本地鏡像增加TAG

docker tag docker.io/konstruktoid/ubuntu:latest ubuntu:linxm

查看鏡像詳細(xì)信息

docker inspect ununtu:linxm

鏡像尋找

docker search mysql

刪除鏡像

docker rmi ubuntu:linxm

創(chuàng)建鏡像

創(chuàng)建鏡像有三種:

  1. 基于已有鏡像的容器創(chuàng)建
$ docker run -it ubuntu:linxm /bin/bash
$ touch test
$ exit
$ docker ps -a
$ docker commit -m "增加一個(gè)文件" -a "作者" 6b1924dabf20 test 

上面的例子是增加了一個(gè)文件范抓,更新鏡像

  1. 基于本地模板導(dǎo)入
# 存出:鏡像保存到本地文件
$ docker save -o ubuntu.tar ubuntu:linxm
# 載入:將鏡像載入
$ docker load --input ubuntu.tar
# 上傳鏡像
$ docker push NAME:tag
  1. 基于Dockerfile創(chuàng)建

容器

查看本機(jī)存在的容器

# 查看容器
$ docker ps -a
# 刪除容器骄恶,指定一個(gè)容器ID
$ docker rm 394

容器是鏡像的一個(gè)運(yùn)行實(shí)例,它帶有額外的可寫文件層
創(chuàng)建容器匕垫,啟動(dòng)容器僧鲁,終止容器,進(jìn)入容器執(zhí)行操作象泵,刪除容器寞秃,容器遷移

# 創(chuàng)建容器
$ docker create -it ubuntu:lastest
$ docker ps -a
$ docker run ubuntu /bin/echo 'Hello world'

一種是基于鏡像新建一個(gè)容器并啟動(dòng),另一個(gè)是將終止?fàn)顟B(tài)的容器重新啟動(dòng)偶惠。
獲取容器的輸出信息

$ docker logs 1afe

終止容器

$ docker stop 1afe

主要命令如下:

# 會(huì)啟動(dòng)新的shell春寿,鏡像有自己的默認(rèn)命令
sudo docker run -it centos:6 /bin/bash
# 查看docker容器
docker ps
docker ps -a
# docker容器的詳細(xì)信息
docker inspect
docker inspect -f 
# 查看IP地址
docker inspect -f  '{{.NetworkSettings.IPAddress}}' f311b

交互式容器的操作:
在交互式容器基礎(chǔ)上,ctrl+p,ctrl+q進(jìn)入守護(hù)式容器
進(jìn)入守護(hù)式容器:docker attach 容器名字
停止容器:docker stop 容器名
運(yùn)行容器的端口:-p 80 -P 全部

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忽孽,一起剝皮案震驚了整個(gè)濱河市绑改,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兄一,老刑警劉巖绢淀,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瘾腰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)覆履,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門蹋盆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人硝全,你說我怎么就攤上這事栖雾。” “怎么了伟众?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵析藕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我凳厢,道長(zhǎng)账胧,這世上最難降的妖魔是什么竞慢? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮治泥,結(jié)果婚禮上筹煮,老公的妹妹穿的比我還像新娘。我一直安慰自己居夹,他們只是感情好败潦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著准脂,像睡著了一般劫扒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狸膏,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天沟饥,我揣著相機(jī)與錄音,去河邊找鬼环戈。 笑死闷板,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的院塞。 我是一名探鬼主播遮晚,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼拦止!你這毒婦竟也來了县遣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤汹族,失蹤者是張志新(化名)和其女友劉穎萧求,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顶瞒,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夸政,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榴徐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片守问。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坑资,靈堂內(nèi)的尸體忽然破棺而出耗帕,到底是詐尸還是另有隱情,我是刑警寧澤袱贮,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布仿便,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏嗽仪。R本人自食惡果不足惜荒勇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钦幔。 院中可真熱鬧枕屉,春花似錦、人聲如沸鲤氢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卷玉。三九已至哨颂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間相种,已是汗流浹背威恼。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寝并,地道東北人箫措。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像衬潦,于是被迫代替她去往敵國(guó)和親斤蔓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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