Docker創(chuàng)建及共享

查找鏡像,下載鏡像

Docker Hub查找有哪些公共的可用鏡像時陵像,可以使用如下命令:
docker search [keywords] 根據(jù)keywords查找鏡像
docker pull [Name] 下載列表中為Name的鏡像
docker run -t -i [Name] /bin/bash 開始啟用該鏡像

docker run -d -p 8080:80 -p 3306:3306 tutum/lamp run攜帶參數(shù)包括運行時端口映射

創(chuàng)建自己的鏡像

在上面的內(nèi)容中,我們已經(jīng)了解了如下查詢犀填,拉取蠢壹,運行鏡像,那么接下來我們將會繼續(xù)學習如何修改九巡、更新和管理自己的鏡像。
構(gòu)建鏡像的方式有以下兩種:

使用docker commit
使用docker build和Dockerfile文件

使用docker commit更新并且提交鏡像

更新一個鏡像蹂季,首先我們要運行一個我們想更新的容器,然后做好相應(yīng)的更改后(例如install nignx)冕广。
輸入exit命令來退出這個容器
使用docker commit來提交這個容器

    $ docker commit -m="Added json gem" -a="Kate Smith" \
    0b2616b0e5a8 ouruser/sinatra:v2
    4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

這里我們使用了docker commit命令。我們可以指定-m和-a標示偿洁。-m標示是允許我們指定提交的信息撒汉,就像你提交一個版本控制。-a標示允許對我們的更新指定一個用戶涕滋。

我們也指定了我們想要創(chuàng)建的新鏡像來自(我們先前記錄的ID)0b2616b0e5a8和我們指定的
(用戶/目標鏡像:標簽):ouruser/sinatra:v2
接下來就可以在docker images中看到這個新的鏡像了

使用Dockerfile創(chuàng)建鏡像

使用docker commit命令能非常簡單的擴展鏡像睬辐,但是它有點麻煩:在一個團隊中不容易共享它的開發(fā)過程。
為此宾肺,我們創(chuàng)建一個Dockerfile溯饵,其中包含一組指令告訴docker如何創(chuàng)建我們的鏡像。
現(xiàn)在讓我們創(chuàng)建一個目錄锨用,并且創(chuàng)建一個Dockerfile文件并配置

    $ mkdir sinatra
    $ cd sinatra
    $ vi Dockerfile

輸入(每個指令前綴都必須大寫)
    # This is a comment
    FROM ubuntu:14.04
    MAINTAINER Kate Smith <ksmith@example.com>
    RUN apt-get -qq update
    RUN apt-get -qqy install ruby ruby-dev
    RUN gem install sinatra

讓我們看看Dockerfile做了什么:第一個指令FROM丰刊,告訴Docker使用哪個鏡像源,在這個案例中我們使用了一個Ubuntu 14.04基礎(chǔ)鏡像增拥。下一步啄巧,我們使用MAINTAINER指令指定誰是維護者寻歧。最后,我們指定三個RUN指令秩仆,一個RUN指令在鏡像內(nèi)執(zhí)行命令码泛。例如安裝包。這里我們在Sinatra中更新了APT緩存澄耍,安裝了Ruby和RubyGems弟晚。

在一個文件夾中,如果有一個名字為Dockfile的文件逾苫,其內(nèi)容滿足語法要求卿城,在這個文件夾路徑下執(zhí)行命令:docker build --tag name:tag .就可以按照描述構(gòu)建一個已有的為name:tag的鏡像了, 但也可以使用-f參數(shù)+ Dockfile路徑的方式指定Dockfile。

注意:這是比較簡單的創(chuàng)建鏡像方法铅搓。我們跳過了你可以使用的一大堆指令瑟押。在后面的部門我們將會看到更多的指令指南,或者你可以參考Dockerfile參考的例子和詳細描述每一個指令星掰。

Dockerfile中設(shè)置端口映射

docker run -tdi -p 80:80 --name apache_web basic_sys -p : hostip : host_port : docker_container's port
-p 從左往右的可以依次寫成宿主機IP多望,宿主機端口,容器的端口氢烘。
經(jīng)過上面的配置以后怀偷,此時訪問宿主機的80端口就等于訪問容器的80端口。

Dockerfile方式運行原理及更多配置項:

*Docker從基礎(chǔ)鏡像運行一個容器播玖。
*執(zhí)行一條指令椎工,對容器修改。
*執(zhí)行類似與docker commit的操作蜀踏,提交一個新的鏡像層维蒙。
*Docker再基于剛剛提交的鏡像運行一個新的容器。
*執(zhí)行Dockerfile中的下一條指令果覆,直到所有的指令執(zhí)行完畢, 刪除產(chǎn)生的中間鏡像層, 留下一個頂級的鏡像層颅痊。
更多配置項參考


Docker倉庫和共享

Docker倉庫

倉庫(Repository)是集中存放鏡像文件的場所。有時候會把倉庫和倉庫注冊服務(wù)器(Registry)混為一談局待,并不嚴格區(qū)分斑响。實際上,倉庫注冊服務(wù)器上往往存放著多個倉庫钳榨,每個倉庫中又包含了多個鏡像舰罚,每個鏡像有不同的標簽(tag)。

倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式重绷。最大的公開倉庫是 Docker Hub沸停,存放了數(shù)量龐大的鏡像供用戶下載。國內(nèi)的公開倉庫包括 時速云 昭卓、網(wǎng)易云 等愤钾,可以提供大陸用戶更穩(wěn)定快速的訪問瘟滨。當然,用戶也可以在本地網(wǎng)絡(luò)內(nèi)創(chuàng)建一個私有倉庫能颁。

當用戶創(chuàng)建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫杂瘸,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了伙菊。

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

項目組共享注意:

hub.docker.com上可以保存鏡像镜硕,但是網(wǎng)速相對較慢,所以一般選擇一臺服務(wù)器(內(nèi)外網(wǎng)地址)作為注冊服務(wù)器运翼,用于搭建私有倉庫實現(xiàn)公司企業(yè)項目內(nèi)共享,具體教程參考網(wǎng)上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兴枯,一起剝皮案震驚了整個濱河市血淌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌财剖,老刑警劉巖悠夯,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異躺坟,居然都是意外死亡沦补,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門咪橙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夕膀,“玉大人,你說我怎么就攤上這事匣摘〉晔” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵音榜,是天一觀的道長。 經(jīng)常有香客問我捧弃,道長赠叼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任违霞,我火速辦了婚禮嘴办,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘买鸽。我一直安慰自己涧郊,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布眼五。 她就那樣靜靜地躺著妆艘,像睡著了一般彤灶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上批旺,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天幌陕,我揣著相機與錄音,去河邊找鬼汽煮。 笑死搏熄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的暇赤。 我是一名探鬼主播心例,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鞋囊!你這毒婦竟也來了止后?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤失暴,失蹤者是張志新(化名)和其女友劉穎坯门,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逗扒,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡古戴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了矩肩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片现恼。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖黍檩,靈堂內(nèi)的尸體忽然破棺而出叉袍,到底是詐尸還是另有隱情,我是刑警寧澤刽酱,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布喳逛,位于F島的核電站,受9級特大地震影響棵里,放射性物質(zhì)發(fā)生泄漏润文。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一殿怜、第九天 我趴在偏房一處隱蔽的房頂上張望典蝌。 院中可真熱鬧,春花似錦头谜、人聲如沸骏掀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽截驮。三九已至笑陈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侧纯,已是汗流浹背新锈。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留眶熬,地道東北人妹笆。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像娜氏,于是被迫代替她去往敵國和親拳缠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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

  • 在前面兩節(jié)我們學習了如何安裝以及簡單的運行管理docker容器贸弥,在本節(jié)我們將會更多的探討關(guān)于docker鏡像的知識...
    井底蛙蛙呱呱呱閱讀 4,099評論 0 5
  • docker基本概念 1. Image Definition 鏡像 Image 就是一堆只讀層 read-only...
    慢清塵閱讀 8,752評論 1 21
  • 0x01 核心概念 Docker鏡像類似于虛擬機鏡像窟坐,可以理解為一個面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,723評論 0 9
  • 啞柏的傳統(tǒng)春節(jié)是從臘月初八開始的,正應(yīng)陜西那句俗話:“今兒七明兒八盔憨,吃了臘八過年‘恰’”徙菠。啞柏的過年也正是一年相對...
    凡夫閑話閱讀 408評論 0 1
  • 發(fā)現(xiàn)自己有個模式:偷懶模式∮粞遥總是傾向于找到一個一勞永逸的方法解決生活中某個問題婿奔,總是在努力讓生活變得單一可以操作。...
    Ada岳慧閱讀 154評論 0 0