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

隨便寫的傻昙,按照我覺得最需要理解和使用的頻率來決定的

三個基本概念

  • 鏡像(Image)
  • 容器(Container)
  • 倉庫(Repository)

不給出更多的細(xì)節(jié)解釋宛琅,因為我也說不清
容器和鏡像的關(guān)系就像,類和實例描姚。
鏡像使用的是分層存儲,容器也是如此。每一個容器運行時,是以鏡像為基礎(chǔ)層,在其上創(chuàng)建一個當(dāng)前容器的存儲層,我們可以稱這個為容器運行時讀寫而準(zhǔn)備的存儲層為容器存儲層。
容器存儲層的生存周期和容器一樣,容器消亡時,容器存儲層也隨之消亡洒闸。因此,任何保存于容器存儲層的信息都會隨容器刪除而丟失。
最常使用的 Registry 公開服務(wù)是官方的 Docker Hub, 這也是默認(rèn)的 Registry, 并擁有大量的高質(zhì)量的官方鏡像均芽。除此以外,還有 CoreOS 的 Quay.io, CoreOS 相關(guān)的鏡像存儲在這里; Google 的 Google Container Registry, Kubernetes 的鏡像使用的就是這個服務(wù)丘逸。
由于某些原因,在國內(nèi)訪問這些服務(wù)可能會比較慢。國內(nèi)的一些云服務(wù)商提供了針對 Docker Hub 的鏡像服務(wù)( Registry Mirror ), 這些鏡像服務(wù)被稱為加速器掀宋。常見的有阿里云加速器深纲、DaoCloud 加速器等。
除了使用公開服務(wù)外,用戶還可以在本地搭建私有 Docker Registry劲妙。Docker 官方提供了Docker Registry 鏡像,可以直接使用做為私有 Registry 服務(wù)湃鹊。

docker常用命令

獲取鏡像

docker pull --help
----------------------------------------------------------------------------
Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Pull an image or a repository from a registry
Options:
  -a, --all-tags                Download all tagged images in the repository
  --disable-content-trust   Skip image verification (default true)
----------------------------------------------------------------------------
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
----------------------------------------------------------------------------
例子
docker pull hub.c.163.com/library/tomcat:latest
docker pull centos:latest
docker pull -a java
----------------------------------------------------------------------------

構(gòu)建鏡像

#以當(dāng)前文件夾的dockerfile來構(gòu)建名字為name,標(biāo)簽為tag的鏡像镣奋,-t表示
docker build -t name:tag .

# 使用URL github.com/creack/docker-firefox 的 Dockerfile 創(chuàng)建鏡像币呵。
$ docker build github.com/creack/docker-firefox

# 也可以通過 -f Dockerfile 文件的位置:
$ docker build -f /path/to/a/Dockerfile .

運行鏡像

docker run --help
----------------------------------------------------------------------------
太多了,列取常用的吧
-d: 后臺運行容器唆途,并返回容器ID富雅;
-i: 以交互模式運行容器,通常與 -t 同時使用肛搬;-it這樣
-t: 為容器重新分配一個偽輸入終端没佑,通常與 -i 同時使用
--rm: 這個參數(shù)是說容器退出后隨之將其刪除。默認(rèn)情況下,為了排障需求,退出的容
器并不會立即刪除,除非手動 docker rm温赔;
--name="xxxx": 為容器指定一個名稱蛤奢;
-p: 端口映射,格式為:主機(宿主)端口:容器端口
----------------------------------------------------------------------------
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
----------------------------------------------------------------------------
例子
# 使用docker鏡像nginx:latest以后臺模式啟動一個容器,并將容器命名為mynginx陶贼。
docker run --name mynginx -d nginx:latest

# 使用鏡像 nginx:latest啤贩,以后臺模式啟動一個容器,將容器的 80 端口映射到主機的 80 端口,主機的目錄 /data 映射到容器的 /data
docker run -p 80:80 -v /zhuji/data:/data -d nginx:latest 

# 使用鏡像nginx:latest以交互模式啟動一個容器,在容器內(nèi)執(zhí)行/bin/bash命令
docker run -it nginx:latest /bin/bash

# 使用鏡像nginx:latest以交互模式啟動一個容器,在容器內(nèi)執(zhí)行/bin/bash命令,退出后刪除
docker run --rm -i -t centos:forsql /bin/bash   //運行鏡像

#進(jìn)入已經(jīng)允許的容器
sudo docker exec -it 775c7c9ee1e1 /bin/bash

列出鏡像

docker image ls

列表包含了 倉庫名 拜秧、 標(biāo)簽 痹屹、 鏡像 ID 、 創(chuàng)建時間 以及 所占用的空間

docker image ls

構(gòu)建dockerfile

# 常用命令說明
FROM # 來自哪個鏡像基礎(chǔ)構(gòu)建的
RUN # RUN每加一層枉氮,就會大一層志衍,所以如果可以暖庄,按照 && 拼接,而不是一個命令一個RUN
  shell 格式: RUN <命令>  , 就像直接在命令行中輸入的命令一樣
    eg: RUN echo '<h1>Hello, Docker!</h1>'  > /usr/share/nginx/html/index.html
  exec 格式: RUN ["可執(zhí)行文件",    "參數(shù)1",  "參數(shù)2"]
    eg: RUN tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1

FROM    centos:7 
LABEL   "CapybaraJ" <capybara@aaa.com>
RUN     yum install -y httpd
RUN     yum install -y mariadb-server mariadb       
EXPOSE  3306   

RUN     rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm \
        && rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
RUN     yum install -y php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
COPY    run.sh /root/
RUN chmod 755 /root/run.sh
ADD     onethink.tar.gz /var/www/html/
COPY    onethink.sql /root/onethink.sql
ADD     phpmywind.tar.gz /var/www/html/
COPY    phpmywind_db.sql /root/phpmywind_db.sql
#RUN     mv /var/www/html/OneThink_v1.0.131129 /var/www/html/onethink

ENTRYPOINT  "/root/run.sh"

容器和主機文件交互

$docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
$docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
#舉例子
docker cp RS-MapReduce 30026605dcfe:/home/cloudera
docker cp  30026605dcfe:/home/cloudera/RS-MapReduce /tmp/

鏡像與容器管理

# 顯示container
docker ps
#刪除container id
docker rm 3ca00
# 刪除所有container
docker rm `docker ps -a -q`
# 刪除鏡像 id
docker rmi 10d1

#刪除所有images
docker rmi `docker images -q`
 
#刪除所有none的鏡像
docker rmi $(docker images --filter dangling=true -q)
# 同理可用
docker system prune

# 毀滅性的刪除
docker system prune -a 

# 類似于Linux上的df命令楼肪,用于查看Docker的磁盤使用情況
docker system df
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末培廓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子春叫,更是在濱河造成了極大的恐慌肩钠,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暂殖,死亡現(xiàn)場離奇詭異价匠,居然都是意外死亡,警方通過查閱死者的電腦和手機央星,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門霞怀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人莉给,你說我怎么就攤上這事毙石。” “怎么了颓遏?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵徐矩,是天一觀的道長。 經(jīng)常有香客問我叁幢,道長滤灯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任曼玩,我火速辦了婚禮鳞骤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘黍判。我一直安慰自己豫尽,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布顷帖。 她就那樣靜靜地躺著美旧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贬墩。 梳的紋絲不亂的頭發(fā)上榴嗅,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音陶舞,去河邊找鬼嗽测。 笑死,一個胖子當(dāng)著我的面吹牛肿孵,可吹牛的內(nèi)容都是我干的唠粥。 我是一名探鬼主播优炬,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼厅贪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雅宾,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤养涮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后眉抬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贯吓,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年蜀变,在試婚紗的時候發(fā)現(xiàn)自己被綠了悄谐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡库北,死狀恐怖爬舰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寒瓦,我是刑警寧澤情屹,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站杂腰,受9級特大地震影響垃你,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜喂很,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一惜颇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧少辣,春花似錦凌摄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至煎殷,卻和暖如春屯伞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背豪直。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工劣摇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弓乙。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓末融,卻偏偏與公主長得像钧惧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子勾习,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

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