Docker 容器與鏡像

進入我的博客,了解更多!

關于 Docker

Docker 是開發(fā)以及運維人員通過容器來開發(fā)啥容,部署和運行應用程序的平臺。

使用 Linux 容器來部署應用程序的方式稱為容器化顷霹,該方式有利于更輕松的部署應用程序咪惠。

Docker 鏡像與容器

首先,容器是通過運行鏡像來啟動的淋淀。而鏡像則是一個可執(zhí)行的包遥昧,里面包含所有運行這個應用所需要的代碼,運行環(huán)境,庫炭臭,環(huán)境變量以及配置文件等等永脓,容器是鏡像運行時的一個實例。

基本命令

# 列出所有鏡像
? docker images

# 列出所有容器
? docker container ls -a

# 列出運行中的容器
? docker ps

# 運行指定鏡像
? docker run hello-world

# 停止運行容器
? docker stop container_id

# 移除本地容器
? docker rm contaienr_id

使用場景

假如我們要搭建一個 Web 環(huán)境鞋仍,其中 Java 版本要求為 1.8常摧,Tomcat 版本為 9。根據這個要求我們首先需要獲取到一個 centos 鏡像凿试,然后在基于該鏡像搭建我們所需要的環(huán)境排宰。

  1. 獲取 centos 鏡像

    # 在 Docker Hub 中搜索需要的鏡像
    ? docker search centos
    NAME                      DESCRIPTION                                     STARS   OFFICIAL   AUTOMATED
    centos                    The official build of CentOS.                   4890      [OK]
    ansible/centos7-ansible   Ansible on Centos7                              119                  [OK]
    jdeathe/centos-ssh        CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86…   99                   [OK]
    
    # 通常選擇官方鏡像, 無官方鏡像可以選擇 star 數較高
    ? docker pull centos
    
  2. 運行 centos 鏡像

    # -d 表示以 Detached 模式運行似芝,-i 表示即使不是 attached 模式也保持標準輸入打開那婉,-t 表示分配一個偽終端,--name 表示容器名稱党瓮,
    # --volume 為掛載目錄详炬,-p 將端口從容器綁定到宿主機上,這里是將容器的 8080 端口綁定到宿主機的 8000 端口
    ? docker run -dit \
        --name my-centos \
        --volume /srv/centos/tmp:/tmp \
        -p 8000:8080 \
        centos /bin/bash
    
  3. 進入容器

    ? docker exec -it my-centos /bin/bash
    
  4. 安裝 Java

    # 安裝OpenJDK 8
    ? yum install java-1.8.0-openjdk
    
    # 驗證
    ? java -version
    
  5. 安裝 Tomcat9

    # 安裝 wget
    ? yum install wget
    
    # 安裝到 /usr/local 目錄下
    ? mkdir -p /usr/local/tomcat
    
    # 下載并解壓到 tomcat9 文件夾
    ? wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
    ? tar -xzf apache-tomcat-9.0.14.tar.gz -C /usr/local/tomcat --strip-components=1
    
    # 刪除無用文件
    ? rm -f apache-tomcat-9.0.14.tar.gz
    
    # 驗證寞奸,啟動成功后即可在宿主機上訪問:http://localhost:8000/
    ? /usr/local/tomcat/bin/startup.sh
    Using CATALINA_BASE:   /usr/local/tomcat9
    Using CATALINA_HOME:   /usr/local/tomcat9
    Using CATALINA_TMPDIR: /usr/local/tomcat9/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar
    Tomcat started.
    
    # 除了用 startup.sh 腳本啟動, 也可以使用 catalina.sh 腳本啟動
    ? /usr/local/tomcat/bin/catalina.sh run
    
    # ctrl + D 可以退出當前偽終端
    
  6. ctrl D 退出偽終端

  7. 如果以后需要重復使用這個環(huán)境呛谜,可以使用 docker commit 命令將該容器制作成鏡像

    # 假如以 web 為倉庫名,v1 為標簽
    ? docker commit my-centos web:v1
    sha256:7d9c79fed1e506a1a232a8e72189a80e983fb4f38d5e5fc09755f085299bc23c
    
    # 查看鏡像枪萄,其中 web 的運行方式同第二步隐岛,只需將鏡像名調整為 web
    # 用新鏡像運行后的容器環(huán)境與我們在前面幾步所搭建的環(huán)境一致。
    ? docker images
    REPOSITORY  TAG      IMAGE ID       CREATED         SIZE
    web         v1       7d9c79fed1e5   5 seconds ago   459MB
    centos      latest   75835a67d134   1 hours ago     200MB
    
  8. 停止容器

    # my-centos 為第二步中定義了 name 參數瓷翻,當然也可以使用 container id 來代替 name
    ? docker stop my-centos
    
  9. 啟動容器

    ? docker start my-centos
    
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末聚凹,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子齐帚,更是在濱河造成了極大的恐慌妒牙,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件对妄,死亡現場離奇詭異湘今,居然都是意外死亡,警方通過查閱死者的電腦和手機剪菱,發(fā)現死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門摩瞎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人孝常,你說我怎么就攤上這事愉豺。” “怎么了茫因?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵蚪拦,是天一觀的道長。 經常有香客問我,道長驰贷,這世上最難降的妖魔是什么盛嘿? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮括袒,結果婚禮上次兆,老公的妹妹穿的比我還像新娘。我一直安慰自己锹锰,他們只是感情好芥炭,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恃慧,像睡著了一般园蝠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痢士,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天彪薛,我揣著相機與錄音,去河邊找鬼怠蹂。 笑死善延,一個胖子當著我的面吹牛,可吹牛的內容都是我干的城侧。 我是一名探鬼主播易遣,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嫌佑!你這毒婦竟也來了豆茫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤歧强,失蹤者是張志新(化名)和其女友劉穎澜薄,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體摊册,經...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡肤京,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了茅特。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忘分。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖白修,靈堂內的尸體忽然破棺而出妒峦,到底是詐尸還是另有隱情,我是刑警寧澤兵睛,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布肯骇,位于F島的核電站窥浪,受9級特大地震影響,放射性物質發(fā)生泄漏笛丙。R本人自食惡果不足惜漾脂,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胚鸯。 院中可真熱鬧骨稿,春花似錦、人聲如沸姜钳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哥桥。三九已至辙浑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泰讽,已是汗流浹背例衍。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工昔期, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留已卸,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓硼一,卻偏偏與公主長得像累澡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子般贼,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內容