docker學(xué)習(xí)筆記

一基本概念

1. 什么是Docker

...

2. Docker的基本概念

鏡像(Image)

是一個(gè)只讀模板辐宾,用來運(yùn)行Docker容器。

容器(Container)

負(fù)責(zé)應(yīng)用程序的運(yùn)行,包括操作系統(tǒng)、用戶添加的文件以及元數(shù)據(jù)

容器是從鏡像創(chuàng)建的運(yùn)行實(shí)例。它可以被啟動(dòng)狸窘、開始钟些、停止烟号、刪除。每個(gè)容器都是相互隔離的政恍、保證安全的平臺(tái)汪拥。

注:鏡像是只讀的,容器在啟動(dòng)的時(shí)候創(chuàng)建一層可寫層作為最上層篙耗。

倉庫(Repository)

倉庫是集中存放鏡像文件的場所迫筑。

倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。

注:Docker 倉庫的概念跟Git類似宗弯,注冊服務(wù)器可以理解為 GitHub 這樣的托管服務(wù)

二脯燃、快速開始

1. 安裝

# ubuntucurl -fsSL https://get.docker.com/ | shsudo service docker restart

2. 鏡像

獲取

# 從倉庫注冊服務(wù)器拉取sudo docker pull ubuntu:14.04# 官方倉庫注冊服務(wù)器,相當(dāng)于 sudo docker pull registry.hub.docker.com/ubuntu:14.04# 也可使用其他倉庫蒙保,如: sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04

顯示

sudo docker images

運(yùn)行

sudo docker run -t -i ubuntu:14.04 /bin/bash

修改

# 運(yùn)行容器bash辕棚,通過shell進(jìn)行操作sudo docker run -t -i ubuntu:14.04 /bin/bash# 提交更新sudo docker commit -m"Added json gem"-a"Docker Newbee"0b2616b0e5a8 ouruser/sinatra:v2

-m:? 提交信息

-a:? 指定更新的用戶信息

0b2616b0e5a8: 容器的 ID

ouruser/sinatra: 倉庫名

v2: 倉庫tag

創(chuàng)建

通過修改已有image, 具體操作修改中已有

通過Dockerfile來創(chuàng)建

mkdir mydockerimg# docker image的配置文件vim Dockerfile# 創(chuàng)建imagesudo docker build -t testimg .

-t: 指定新的image的名字

.: Dockerfile所在目錄

Dockerfile示例

# 這是注釋FROM ubuntu:14.04MAINTAINER AIR_CC RUN apt-get -y updateCMDecho"hello-world"ADD myApp /var/wwwEXPOSE80

#: 注釋

FROM: 告訴 Docker 使用哪個(gè)鏡像作為基礎(chǔ)

MAINTAINER: 維護(hù)者的信息

RUN: 在創(chuàng)建鏡像時(shí)運(yùn)行的操作

CMD: 啟動(dòng)容器后運(yùn)行的程序

ADD: 復(fù)制本地文件到鏡像

WORKDIR: 設(shè)置 dockerfile 命令運(yùn)行目錄

EXPOSE: 對外部開放端口

通過本地文件系統(tǒng)導(dǎo)入

sudo cat ubuntu-14.04-x86_64-minimal.tar.gz? | dockerimport- ubuntu:14.04

注:具體鏡像可在openva中找

保存與載入

1.保存已有的鏡像

sudodockersave-oubuntu_14.04.tarubuntu:14.04

載入鏡像

sudodockerload--inputubuntu_14.04.tar# 或者sudodockerload

刪除

# 暫停并刪除相應(yīng)的容器sudo docker stop containerNamesudo docker rm containerName# 刪除鏡像sudo docker rmi imageName

注:刪除鏡像之前需要先stop & rm相應(yīng)的container

# 刪除所有的containersudo docker stop $(docker ps -a -q)sudo docker rm $(docker ps -a -q)# 刪除所有的imagesudo docker rmi $(docker images -q)

2. 容器

容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用,以及它們的運(yùn)行態(tài)環(huán)境追他。對應(yīng)的坟募,虛擬機(jī)可以理解為模擬運(yùn)行的一整套操作系統(tǒng)(提供了運(yùn)行態(tài)環(huán)境和其他系統(tǒng)環(huán)境)和跑在上面的應(yīng)用。

運(yùn)行

# 運(yùn)行一下邑狸,就終止sudo docker run -tid? ubuntu:14.04

run的參數(shù)說明

-t: 為container分配一個(gè)偽終端(pseudo-tty)懈糯,并綁定到容器的標(biāo)準(zhǔn)輸入上

-i: 讓容器的標(biāo)準(zhǔn)輸入保持打開

-d: 使容器在后臺(tái)以守護(hù)態(tài)(Daemonized)形式運(yùn)行

終止

使用sudo docker stop 終止;

注:當(dāng)容器中指定的應(yīng)用終結(jié)時(shí)单雾,容器也會(huì)終止

sudo docker start -- 啟動(dòng)一個(gè)處于終止的容器

sudo docker restart -- 重啟一個(gè)處于運(yùn)行態(tài)的容器

運(yùn)行日志

獲取 container 中程序輸出到 terminal 上的信息docker logs

進(jìn)入

使用attach

sudo docker run -tid ubuntu:14.04sudo docker attach # ctrl + c:? 殺死該 contanier# ctrl + p + ctrl + q: 退出container交互界面

使用nsenter

導(dǎo)出與導(dǎo)入

導(dǎo)出

sudo dockerexport > outputFileName

導(dǎo)入

sudo dockerimport

注:用戶既可以使用 docker load 來導(dǎo)入鏡像存儲(chǔ)文件到本地鏡像庫赚哗,也可以使用 docker import來導(dǎo)入一個(gè)容器快照到本地鏡像庫。這兩者的區(qū)別在于容器快照文件將丟棄所有的歷史記錄和元數(shù)據(jù)信息(即僅保存容器當(dāng)時(shí)的快照狀態(tài))硅堆,而鏡像存儲(chǔ)文件將保存完整記錄屿储,體積也要大。此外渐逃,從容器快照文件導(dǎo)入時(shí)可以重新指定標(biāo)簽等元數(shù)據(jù)信息够掠。

刪除

sudo docker stopsudo docker rm

注: 刪除容器前需先stop*

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茄菊,隨后出現(xiàn)的幾起案子疯潭,更是在濱河造成了極大的恐慌,老刑警劉巖面殖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件竖哩,死亡現(xiàn)場離奇詭異,居然都是意外死亡脊僚,警方通過查閱死者的電腦和手機(jī)相叁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人增淹,你說我怎么就攤上這事椿访。” “怎么了埠通?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵赎离,是天一觀的道長。 經(jīng)常有香客問我端辱,道長,這世上最難降的妖魔是什么虽画? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任舞蔽,我火速辦了婚禮,結(jié)果婚禮上码撰,老公的妹妹穿的比我還像新娘渗柿。我一直安慰自己,他們只是感情好脖岛,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布朵栖。 她就那樣靜靜地躺著,像睡著了一般柴梆。 火紅的嫁衣襯著肌膚如雪陨溅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天绍在,我揣著相機(jī)與錄音门扇,去河邊找鬼。 笑死偿渡,一個(gè)胖子當(dāng)著我的面吹牛臼寄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溜宽,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼吉拳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了适揉?” 一聲冷哼從身側(cè)響起留攒,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涡扼,沒想到半個(gè)月后稼跳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吃沪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年汤善,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡红淡,死狀恐怖不狮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情在旱,我是刑警寧澤摇零,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站桶蝎,受9級(jí)特大地震影響驻仅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜登渣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一噪服、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胜茧,春花似錦粘优、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廊遍,卻和暖如春嬉愧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昧碉。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工英染, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人被饿。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓四康,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狭握。 傳聞我的和親對象是個(gè)殘疾皇子闪金,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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