docker食用食譜(二) —— 鏡像

鏡像

以前我在windows上學(xué)習(xí)linux的時(shí)候丹拯,都是搭一個(gè)linux的虛擬機(jī)森书,現(xiàn)在沒想到docker也可以這么簡單輕量的啟動(dòng)一個(gè)linux的交互式終端梢什,供我們簡單的學(xué)習(xí)

# -i 表示交互式 -t表示終端 --rm表示用后就刪除容器 bash表示終端是shell
docker run -it --rm centos:centos7.2 bash

鏡像的命令

docker image --help 看到所有的鏡像相關(guān)的命令

  1. 查看所有的鏡像
docker image ls
  1. 刪除鏡像
docker image rm [image_tag_name]
docker image rm [image_id]
  1. 查看鏡像所占的體積 真實(shí)的硬盤空間
docker system df

鏡像的構(gòu)建 —— Dockerfile

它是用來構(gòu)建自定義鏡像的

  1. 基礎(chǔ)鏡像畢竟是基礎(chǔ)鏡像甫煞,無法滿足我們的需求,我們總是要各種定制(為了方便)沉馆,而方式有二:docker commit 和 Dockerfile 码党,由于docker commit實(shí)在不容易記錄更改,日久就忘了斥黑。所以 Dockerfile 就成了我們的選擇
  • 一個(gè) Dockerfile 可能長這樣:
# 基礎(chǔ)鏡像
FROM python:3.7.5-slim
# 工作目錄
WORKDIR /home/user/app
# 復(fù)制當(dāng)前目錄下所有文件入容器目錄(自動(dòng)創(chuàng)建目錄)
COPY / /home/user/app
# 構(gòu)建層 執(zhí)行各種命令
RUN pip install flask
# 聲明一個(gè)端口用以隨機(jī)映射
EXPOSE 5000
# 聲明數(shù)據(jù)卷
VOLUME /data
# 容器啟動(dòng)后執(zhí)行的命令
CMD ["python","index.py"]
  1. FROM base_image_name
# FROM表示從一個(gè)鏡像為基礎(chǔ)來構(gòu)建
FROM debian
  1. RUN 這玩意兒運(yùn)行一次就構(gòu)建一層揖盘,所以盡量少構(gòu)建層 一次RUN完
# 這個(gè)可以用以裝環(huán)境依賴什么的
RUN apt-get update \
    && apt-get install -y python3  && pip3 install flask \
    && rm -rf /var/lib/apt/lists/*
  1. COPY 復(fù)制文件命令
命令     源地址       鏡像中的目錄
COPY / /home/user/app/
# 將操作的主機(jī)的目錄下的文件(比如build好的文件)copy到鏡像的目錄下
  1. WORKDIR
WORKDIR /home/user/app
# 這樣就可以指定工作目錄 即使沒有也會(huì)遞歸創(chuàng)建整個(gè)路徑
  1. CMD
cmd命令 容器運(yùn)行的時(shí)候,是以服務(wù)該主進(jìn)程的锌奴,當(dāng)CMD這個(gè)命令執(zhí)行結(jié)束的時(shí)候兽狭,那就結(jié)束了,所以沒必要去后臺(tái)運(yùn)行進(jìn)程
CMD ["python3","index.py"]

index.py內(nèi)容如下:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0')
  1. EXPOSE 暴露端口
# 這個(gè)EXPOSE 的作用在于使用運(yùn)行docker run -P ...... 命令的時(shí)候,會(huì)使用宿主機(jī)的隨機(jī)端口來自動(dòng)映射到這個(gè)聲明的端口
# docker run -p <宿主端口>:<容器端口> -t [container_tag_name]
EXPOSE 5000
  1. ENV 配置環(huán)境變量
# 格式:ENV <key1>=<value1> <key2>=<value2>...
ENV ASP_ENV=production FLASK_ENV=production
  1. ARG 構(gòu)建環(huán)境變量
# 這個(gè)也是一種環(huán)境變量箕慧,只不過它只存在與構(gòu)建鏡像的時(shí)候服球,運(yùn)行的時(shí)候并不存在,主要對于CI系統(tǒng)的一些構(gòu)建會(huì)比較有用
ARG NODE_VERSION=10.1
  1. VOLUME 數(shù)據(jù)卷 又一個(gè)很重要的東西颠焦,類似一個(gè)路徑映射關(guān)系斩熊。注意:數(shù)據(jù)卷是一個(gè)關(guān)系。同時(shí)無法在創(chuàng)建鏡像是指定本機(jī)目錄伐庭,只能聲明這個(gè)卷粉渠,創(chuàng)建容器的時(shí)候才能關(guān)聯(lián)本機(jī)目錄
# 我們數(shù)據(jù)持久化會(huì)用到這個(gè)東西,比如你的mysql圾另,這個(gè)就必不可少了
# 定義一個(gè)匿名卷 
命令   鏡像使用的目錄
VOLUME /data

# 該命令會(huì)關(guān)聯(lián)本機(jī)目錄 創(chuàng)建一個(gè)匿名的卷霸株,同時(shí)把本地路徑/var/user/data 映射到容器的 /data目錄,也就是在容器中訪問/data就是訪問本地的/var/user/data 目錄
docker run -v /var/user/data:/data -t [image_tag_name]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末集乔,一起剝皮案震驚了整個(gè)濱河市去件,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饺著,老刑警劉巖箫攀,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異幼衰,居然都是意外死亡靴跛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門渡嚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梢睛,“玉大人,你說我怎么就攤上這事识椰【希” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵腹鹉,是天一觀的道長藏畅。 經(jīng)常有香客問我,道長功咒,這世上最難降的妖魔是什么愉阎? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮力奋,結(jié)果婚禮上榜旦,老公的妹妹穿的比我還像新娘。我一直安慰自己景殷,他們只是感情好溅呢,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布澡屡。 她就那樣靜靜地躺著,像睡著了一般咐旧。 火紅的嫁衣襯著肌膚如雪驶鹉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天休偶,我揣著相機(jī)與錄音梁厉,去河邊找鬼。 笑死踏兜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的八秃。 我是一名探鬼主播碱妆,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼昔驱!你這毒婦竟也來了疹尾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤骤肛,失蹤者是張志新(化名)和其女友劉穎纳本,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腋颠,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡繁成,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淑玫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巾腕。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖絮蒿,靈堂內(nèi)的尸體忽然破棺而出尊搬,到底是詐尸還是另有隱情,我是刑警寧澤土涝,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布佛寿,位于F島的核電站,受9級特大地震影響但壮,放射性物質(zhì)發(fā)生泄漏冀泻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一茵肃、第九天 我趴在偏房一處隱蔽的房頂上張望腔长。 院中可真熱鬧,春花似錦验残、人聲如沸捞附。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸟召。三九已至胆绊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間欧募,已是汗流浹背压状。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跟继,地道東北人种冬。 一個(gè)月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像舔糖,于是被迫代替她去往敵國和親娱两。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359