docker實(shí)戰(zhàn)總結(jié)-基礎(chǔ)篇

最近由于工作上又用到了Docker,所以在此重新整理了下整體Docker的入門基礎(chǔ)知識(shí)

Docker install

ubuntu下的安裝方式為例:

  • 更新軟件源

sudo apt-get update

  • 下載Docker

sudo apt-get install docker.io

  • 把當(dāng)前用戶加入到docker用戶組中(Docker默認(rèn)只能以root用戶運(yùn)行)

sudo gpasswd -a ${USER} docker

  • 當(dāng)前用戶退出系統(tǒng)重新登錄

    su root
    su ${USER}

  • 驗(yàn)證Docker是否安裝成功

service docker status

  • 看到命令行中顯示Docker是running狀態(tài)則證明安裝成功!

Docker image

  • 查詢目前有多少個(gè)鏡像源

docker images

  • 從官方鏡像倉庫中拉取鏡像

docker pull ${image name}:${version} 不寫版本默認(rèn)是latest
如:docker pull ubuntu 或者 docker pull ubuntu:16.04

  • 從本地鏡像倉庫導(dǎo)出鏡像

docker save -o [file path/filename] [image name]

  • 從某個(gè)文件中導(dǎo)入鏡像

docker load > [file path/filename]

Docker container

  • 查詢目前有多少個(gè)容器運(yùn)行

docker ps

  • 根據(jù)某個(gè)鏡像開啟一個(gè)容器

docker run [Options] -it ${image name} [command] [args...]

  • Options:增加的一些額外參數(shù)媳搪,可不要,如 docker run -it ubuntu /bin/bash
-p:容器端口與宿主主機(jī)的端口映射關(guān)系,后面的是容器的端口,如docker run -p 10.23.1.198:18888:18888 -it achain-wallet /bin/bash
-d:是否以后臺(tái)進(jìn)程的方式運(yùn)行該容器
-v:掛在宿主主機(jī)的目錄到對(duì)應(yīng)的容器目錄中芬膝,注意只能是絕對(duì)路徑的癣缅,如 docker run -v /home/yujian:/data/soft -it /bin/bash

Dockerfile

Dockerfile命令
  • ADD

ADD命令有兩個(gè)參數(shù),源和目標(biāo)檩坚。它的基本作用是從源系統(tǒng)的文件系統(tǒng)上復(fù)制文件到目標(biāo)容器的文件系統(tǒng)。如果源是一個(gè)URL薯鳍,那該URL的內(nèi)容將被下載并復(fù)制到容器中.
ADD [source directory or URL] [destination directory]
如:ADD /my_app_folder /my_app_folder

  • CMD

和RUN命令相似咖气,CMD可以用于執(zhí)行特定的命令。和RUN不同的是挖滤,這些命令不是在鏡像構(gòu)建的過程中執(zhí)行的崩溪,而是在用鏡像構(gòu)建容器后被調(diào)用.
CMD application "argument", "argument", ..
CMD "echo" "Hello docker!"

  • EXPOSE

用來指定端口,使容器內(nèi)的應(yīng)用可以通過端口和外界交互
EXPOSE [port] 多個(gè)之間以空格隔開
如:EXPOSE 8080

  • ENTRYPOINT

配置容器啟動(dòng)后執(zhí)行的命令斩松,并且不可被 docker run 提供的參數(shù)覆蓋.每個(gè) Dockerfile 中只能有一個(gè) ENTRYPOINT伶唯,當(dāng)指定多個(gè)時(shí),只有最后一個(gè)起效.ENTRYPOINT 幫助你配置一個(gè)容器使之可執(zhí)行化惧盹,如果你結(jié)合CMD命令和ENTRYPOINT命令乳幸,你可以從CMD命令中移除“application”而僅僅保留參數(shù)瞪讼,參數(shù)將傳遞給ENTRYPOINT命令。
ENTRYPOINT application "argument", "argument", ..
如:# Remember: arguments are optional. They can be provided by CMD or during the creation of a container.
ENTRYPOINT echo
#Usage example with CMD:
#Arguments set with CMD can be overridden during run
#Arguments set with CMD can be overridden during run
CMD "Hello docker!"
ENTRYPOINT echo

  • RUN

RUN命令是Dockerfile執(zhí)行命令的核心部分粹断。它接受命令作為參數(shù)并用于創(chuàng)建鏡像符欠。不像CMD命令,RUN命令用于創(chuàng)建鏡像(在之前commit的層之上形成新的層)瓶埋。
RUN [command]
如:RUN apt-get install -y vim

  • FROM

FROM命令必須是Dockerfile的首個(gè)命令,用于指定使用哪個(gè)基礎(chǔ)鏡像作為構(gòu)建流程希柿,該基礎(chǔ)鏡像一般是要能從官方倉庫中找得到的
FROM [image name]
如:FROM ubuntu

  • ENV

ENV命令用于設(shè)置環(huán)境變量。這些變量以”key=value”的形式存在养筒,并可以在容器內(nèi)被腳本或者程序調(diào)用
ENV key value
如:ENV SERVER_WORKS 4

  • VOLUME

VOLUME命令用于讓你的容器訪問宿主機(jī)上的目錄
VOLUME ["/dir_1", "/dir_2" ..]
如:VOLUME ["/my_files"]

  • WORKDIR

WORKDIR命令用于設(shè)置CMD指明的命令的運(yùn)行目錄
WORKDIR /path
如:WORKDIR ~/

參考資料

Dockerfile介紹
解決國內(nèi)用dockerfile生成鏡像慢的問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末曾撤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子闽颇,更是在濱河造成了極大的恐慌盾戴,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兵多,死亡現(xiàn)場離奇詭異尖啡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)剩膘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門衅斩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怠褐,你說我怎么就攤上這事畏梆。” “怎么了奈懒?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵奠涌,是天一觀的道長。 經(jīng)常有香客問我磷杏,道長溜畅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任极祸,我火速辦了婚禮慈格,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遥金。我一直安慰自己浴捆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布稿械。 她就那樣靜靜地躺著选泻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上滔金,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天色解,我揣著相機(jī)與錄音,去河邊找鬼餐茵。 笑死科阎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忿族。 我是一名探鬼主播锣笨,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼道批!你這毒婦竟也來了错英?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤隆豹,失蹤者是張志新(化名)和其女友劉穎椭岩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體璃赡,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡判哥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碉考。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塌计。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侯谁,靈堂內(nèi)的尸體忽然破棺而出锌仅,到底是詐尸還是另有隱情,我是刑警寧澤墙贱,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布热芹,位于F島的核電站,受9級(jí)特大地震影響惨撇,放射性物質(zhì)發(fā)生泄漏剿吻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一串纺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧椰棘,春花似錦纺棺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帆卓,卻和暖如春巨朦,著一層夾襖步出監(jiān)牢的瞬間米丘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工糊啡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拄查,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓棚蓄,卻偏偏與公主長得像堕扶,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梭依,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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

  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一稍算、Docker 簡介 Docke...
    極客圈閱讀 10,499評(píng)論 0 120
  • 五、Docker 端口映射 無論如何役拴,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問不到的糊探。此外,除了...
    R_X閱讀 1,748評(píng)論 0 7
  • docker基本概念 1. Image Definition 鏡像 Image 就是一堆只讀層 read-only...
    慢清塵閱讀 8,744評(píng)論 1 21
  • 時(shí)刻把自己往下踩河闰,往下踩實(shí)科平,永遠(yuǎn)不要讓你的名氣超過你的實(shí)力。學(xué)會(huì)把自己往下踩淤击,路會(huì)走得更長匠抗。有別人幫忙踩也沒什么壞...
    華杉2009閱讀 1,881評(píng)論 5 5
  • 故事一:母親用血肉之軀抵擋火山巖漿 龐貝古城汞贸,位于意大利,被稱為世界十大古墓稀世珍寶之一印机。 始建于公元前6世紀(jì)矢腻,當(dāng)...
    一心小茶館閱讀 996評(píng)論 64 19