docker

容器的概念

優(yōu)勢

  1. 靈活: 即使是最復(fù)雜的應(yīng)用也能被容器化
  2. 輕量:
  3. 你能即時(shí)的部署更新,升級
  4. 你能本地build, 部署在云端蝗岖,運(yùn)行在任何地方
  5. 可擴(kuò)展的: 你能增長并且自動的分布 容器副本

Images and containers

A container launched by running an image.
image 是一個可執(zhí)行的包胶背,包含運(yùn)行應(yīng)用程序所需的所有內(nèi)容 - 代碼挽荠,運(yùn)行時(shí)間啦扬,庫镀迂,環(huán)境變量和配置文件。


containers

containers

Dockerfile
Dockerfile 定義了在你的容器內(nèi)環(huán)境中發(fā)生的事怪嫌。對網(wǎng)絡(luò)接口和磁盤驅(qū)動器等資源的訪問在此環(huán)境中進(jìn)行虛擬化义锥,該環(huán)境與系統(tǒng)的其他部分隔離,因此您需要將端口映射到外部世界岩灭,并具體說明要“復(fù)制”到哪些文件那個環(huán)境拌倍。但是,執(zhí)行此操作后噪径,您可以預(yù)期此Dockerfile中定義的應(yīng)用程序的構(gòu)建在其運(yùn)行的任何位置都會完全相同柱恤。
Docker 能夠根據(jù)從Dockerfile文件讀取的指令來自動構(gòu)建images.
Dockerfile是一個文本文件。它包含了用戶在命令行能夠調(diào)用的所有命令去裝配一個image找爱。

使用

docker build 命令從Dockerfile 和一個上下文來構(gòu) 是建image. 上下文指的是一系列文件膨更,PATH 或者是URLPATH是你的本地文件系統(tǒng)的目錄缴允。URL 是 git 倉庫地址荚守。
上下文可以被遞歸處理。 所以PATH可以包含子目錄

FROM

必須在開頭位置练般,只有一個

RUN

RUN ["executable", "param1", "param2"]

CMD

格式
CMD ["executable","param1","param2"]
Dockerfile 里只能有一個CMD 命令矗漾,如果有多個,那最后那個會起效果薄料。

docker attach
docker attach [OPTIONS] CONTAINER
attach 容器的id 或者名字
stop 容器 敞贡,使用CTRL-c 發(fā)送SIGKILL 給這個容器。如果
--sig-proxy 是 true (默認(rèn))摄职,CTRL-c 發(fā)送SIGINT 給容器誊役。可以使用CTRL-p CTRL-q 去detach 這個容器并且 讓它自己運(yùn)行谷市。

dock command line

docker cli 鏈接

列出鏡像

docker images

刪除鏡像

docker image rm <IMAGE NAME>

列出容器

docker ps

拉取鏡像

docker pull registry.aibee.cn/store/signals_base:0.0.1

運(yùn)行一個鏡像

docker run -it --rm signals:latest bash

volume

volume

如果想指定volume 的驅(qū)動選項(xiàng)蛔垢,應(yīng)該使用--mount 文檔鏈接
-v or --volume: 包含三個字段,用 冒號: 分割迫悠。

  • 對于named volume. 第一個字段是 volume的名字鹏漆。在宿主機(jī)上是惟一的。對于anonymous volume 创泄,第一個字段忽略
  • 第二個字段是路徑艺玲。被加載到 容器的的路徑
  • 第三個字段是可選的。例如 ro

--mount 有三種類型鞠抑,bind volume tmpfs

  1. 創(chuàng)建一個volume
    docker volume create<volume name>
  2. 顯示一個volume 的詳細(xì)信息
    docker volume inspect <volume name>
  3. 列出volumes
    docker volume ls
  4. 將不使用的local volumes 刪除
    docker volume prune
  5. 刪除某個volume
    docker volume rm <volume name>

Examples

$ docker volume create hello
hello
$ docker run -d -v hello:/world busybox ls /world

docker 不支持相對路徑
多個容器可以在同一時(shí)刻使用同一個volume. 對于多個容器需要訪問共享的數(shù)據(jù)是很有用的饭聚。例如:如果一個容器負(fù)責(zé)寫數(shù)據(jù),另一個容器負(fù)責(zé)讀數(shù)據(jù)
volume name 不能重復(fù)

docker
docker run -it --rm -v hello:/root/world:ro registry.aibee.cn/store/signals_base:0.0.1 bash
python3 建立虛擬環(huán)境
python3 -m venv tutorial-env
啟動虛擬環(huán)境
source tutorial-env/bin/activate

clone 一個倉庫后搁拙,
執(zhí)行arc

arc install-certificate
提交后執(zhí)行
arc diff

Dockfile 最佳實(shí)踐

WORKDIR

使用絕對路徑秒梳,不要用 RUN cd ... && do-something

ADD or COPY

推薦使用COPY法绵, ADD 會對某些文件解壓縮,支持遠(yuǎn)程下載端幼。后來發(fā)現(xiàn)并不好礼烈。推薦更簡單的COPY 弧满。遠(yuǎn)程下載用curl 或 wget

docker build

build an image from an Dockfile

使用

docker build [OPTIONS] PATH | URL | -

參數(shù)

參數(shù) 描述
-t --tag Name and optionally a tag in the ‘name:tag’ format
-f --file Name of the Dockerfile (Default is ‘PATH/Dockerfile’)

example

docker build -t vieux/apache:2.0 .
docker build -f Dockerfile.debug .

docker push

desc

Push an image or a repository to a registry

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末婆跑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子庭呜,更是在濱河造成了極大的恐慌滑进,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件募谎,死亡現(xiàn)場離奇詭異扶关,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)数冬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門节槐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拐纱,你說我怎么就攤上這事铜异。” “怎么了秸架?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵揍庄,是天一觀的道長。 經(jīng)常有香客問我东抹,道長蚂子,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任缭黔,我火速辦了婚禮食茎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馏谨。我一直安慰自己董瞻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布田巴。 她就那樣靜靜地躺著钠糊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪壹哺。 梳的紋絲不亂的頭發(fā)上抄伍,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機(jī)與錄音管宵,去河邊找鬼截珍。 笑死攀甚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的岗喉。 我是一名探鬼主播秋度,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼钱床!你這毒婦竟也來了荚斯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤查牌,失蹤者是張志新(化名)和其女友劉穎事期,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纸颜,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兽泣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胁孙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唠倦。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖涮较,靈堂內(nèi)的尸體忽然破棺而出稠鼻,到底是詐尸還是另有隱情,我是刑警寧澤法希,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布枷餐,位于F島的核電站,受9級特大地震影響苫亦,放射性物質(zhì)發(fā)生泄漏毛肋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一屋剑、第九天 我趴在偏房一處隱蔽的房頂上張望润匙。 院中可真熱鬧,春花似錦唉匾、人聲如沸孕讳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厂财。三九已至,卻和暖如春峡懈,著一層夾襖步出監(jiān)牢的瞬間璃饱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工肪康, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荚恶,地道東北人撩穿。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像谒撼,于是被迫代替她去往敵國和親食寡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355