【原創(chuàng)】Docker入門探索

剛開始對(duì)Docker的印象是一個(gè)低配版虛擬機(jī)类咧,沙箱機(jī)制的容器。工作中項(xiàng)目接觸的少娇钱,所以對(duì)于這項(xiàng)用不著的技術(shù)一直停留在最初的印象虐呻。

現(xiàn)在互聯(lián)網(wǎng)行業(yè)飛速發(fā)展,公司同時(shí)也在飛速發(fā)展琼腔。隨著業(yè)務(wù)量不斷擴(kuò)大瑰枫,公司也不得不升級(jí)為微服務(wù)式架構(gòu)。微服務(wù)架構(gòu)的粒度小丹莲,耦合低光坝。同時(shí)對(duì)于服務(wù)器的要求也越來越高,為何方便快捷的搭建環(huán)境和管理甥材,使用Docker成為了必要盯另。接下來進(jìn)入主題:

1,Docker的Windows安裝

 首先進(jìn)入Docker官網(wǎng):https://www.docker.com
 get started 獲取下載鏈接
 下載完成直接運(yùn)行安裝
 然后失斨拚浴鸳惯?
 很正常,首先windows10必須是企業(yè)版叠萍,因?yàn)閣in10版本的docker依賴hyper-v芝发。如果不是請(qǐng)升級(jí)系統(tǒng)為企業(yè)版
 然后安裝完成之后運(yùn)行失敗苛谷?
 根據(jù)提示修復(fù)錯(cuò)誤辅鲸,我遇到的問題解決方式是:1,通過bios開啟虛擬化腹殿,2独悴,開啟hyper-v

2,Docker入門級(jí)使用

1例书,什么是Docker鏡像
 Doker的精髓,也是docker的便利之處绵患。鏡像可以理解為一個(gè)環(huán)境包雾叭∥蛟牛可移植落蝙,減去重復(fù)部署環(huán)境的煩惱。
2暂幼,如何保存自己的云Docker鏡像
我用的是阿里云鏡像筏勒,進(jìn)入阿里云————>選擇產(chǎn)品與服務(wù)————>容器鏡像服務(wù)
3,制作鏡像(使用Dockerfile方式)
Dockerfile內(nèi)容:

#使用的基礎(chǔ)鏡像
FROM centos

#作者信息
MAINTAINER  "yuchuan.zeng@hand-china.com"

#創(chuàng)建功能目錄
RUN mkdir -p /home/hms

#把當(dāng)前目錄下的jdk文件夾添加到鏡像
ADD jdk-8u91-linux-x64.tar.gz /home/hms

#把當(dāng)前目錄下的tomcat文件夾添加到鏡像
ADD apache-tomcat-8.5.12.tar.gz /home/hms

#添加環(huán)境變量
ENV JAVA_HOME /home/hms/jdk1.8.0_91
ENV CATALINA_HOME /home/hms/apache-tomcat-8.5.12
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

WORKDIR /home/hms/apache-tomcat-8.5.12

#暴露8080端口
EXPOSE 8080

RUN chmod +x /home/hms/apache-tomcat-8.5.12/bin/catalina.sh
RUN chmod 777 -R /home/hms
#啟動(dòng)時(shí)運(yùn)行tomcat
CMD ["/home/hms/apache-tomcat-8.5.12/bin/catalina.sh", "run"]

然后需要把Dockerfile打成鏡像:

    docker build -f Dockerfile  -t  hms-tomcat:TAG  .
    # -f Dockerfile路徑旺嬉,默認(rèn)是當(dāng)前目錄
    # -t 指定新鏡像的名字以及TAG
    # .  指定路徑為當(dāng)前路徑
成果效果圖

啟動(dòng)鏡像:

docker run --name test-tomcat   -itd  -p 9000:8080  -v 主機(jī)目錄:容器目錄:rw  鏡像ID或鏡像名:TAG
# -i 以交互模式運(yùn)行容器
# -t 分配一個(gè)偽終端管行,即命令行,通常組合來使用
# -p 指定映射端口邪媳,將主機(jī)端口映射到容器內(nèi)的端口
# -d 后臺(tái)運(yùn)行容器
# -v 指定掛載主機(jī)目錄到容器目錄捐顷,默認(rèn)為rw讀寫模式,ro表示只讀

查看logs指令:

  docker logs -f --tail=100 test-tomcat

進(jìn)入容器指令:

  win: winpty docker exec -it b78da88433cd sh
  linux: docker exec -it b78da88433cd bash

如果對(duì)自己的鏡像測(cè)試滿意雨效,則上傳阿里云

打成tag:
docker tag [鏡像ID]   registry.cn-hangzhou.aliyuncs.com/circle-zeng/hms:[鏡像版本號(hào)]
打tag作用是建立傳輸管道迅涮,告訴docker往哪兒傳輸

push:
docker push registry.cn-hangzhou.aliyuncs.com/circle-zeng/hms:[鏡像版本號(hào)]

以后類似的環(huán)境就可以根據(jù)這個(gè)基礎(chǔ)環(huán)境為基礎(chǔ)引用了,如下Dockerfile:
#使用自己的基礎(chǔ)鏡像
FROM registry.cn-hangzhou.aliyuncs.com/circle-zeng/hms:2.0.0

后續(xù)使用鏡像時(shí)徽龟,可能需要為鏡像加上hosts配置

docker run --add-host 域名:ip  --add-host 域名:ip  --name hmap-tomcat -itd -p 9090:8080 hmap-tomcat:3.0  -v 主機(jī)目錄:容器目錄:rw  
使用docker-compose,在當(dāng)前目錄下建立docker-compose.yaml
version: "2"
services:
  mysql:
    container_name: mysql2  # 容器名
    image: # 容器所使用的鏡像叮姑,鏡像形式為[username 或 url]/repository:tag
    ports:
      - "3306:3306" # [本機(jī)端口:容器內(nèi)端口] 將本機(jī)端口與docker容器內(nèi)部應(yīng)用的端口映射,以提供外部對(duì)容器內(nèi)應(yīng)用的訪問能力
    environment:
      MYSQL_ROOT_PASSWORD: root # 設(shè)置mysql密碼
    volumes:
      - ./mysql/mysql_data:/var/lib/mysql # 將mysql中的數(shù)據(jù)文件映射到本機(jī)文件夾据悔,":"前的為本機(jī)地址传透,后的為容器內(nèi)地址
      - ./mysql/mysql_db.cnf:/etc/mysql/conf.d/mysql_db.cnf # 將mysql的配置文件映射到本機(jī)文件

建立之后執(zhí)行:docker-compose -f docker-compose.yaml  up -d  啟動(dòng)

補(bǔ)充:
docker的掛載功能非常實(shí)用,對(duì)應(yīng)docker run中-v指令极颓,指定主機(jī)目錄掛載到容器目錄朱盐。這樣的好處在于tomcat部署項(xiàng)目時(shí),直接把war包目錄掛載到容器tomcat的webapps目錄下菠隆,無需進(jìn)入容器內(nèi)就可以進(jìn)行應(yīng)用的微調(diào)整

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兵琳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子浸赫,更是在濱河造成了極大的恐慌闰围,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件既峡,死亡現(xiàn)場(chǎng)離奇詭異羡榴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)运敢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門校仑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忠售,“玉大人,你說我怎么就攤上這事迄沫〉狙铮” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵羊瘩,是天一觀的道長(zhǎng)泰佳。 經(jīng)常有香客問我,道長(zhǎng)尘吗,這世上最難降的妖魔是什么逝她? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮睬捶,結(jié)果婚禮上黔宛,老公的妹妹穿的比我還像新娘。我一直安慰自己擒贸,他們只是感情好臀晃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著介劫,像睡著了一般徽惋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜕猫,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天寂曹,我揣著相機(jī)與錄音,去河邊找鬼回右。 笑死隆圆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翔烁。 我是一名探鬼主播渺氧,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蹬屹!你這毒婦竟也來了侣背?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤慨默,失蹤者是張志新(化名)和其女友劉穎贩耐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厦取,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡潮太,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铡买。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡更鲁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奇钞,到底是詐尸還是另有隱情澡为,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布景埃,位于F島的核電站媒至,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纠亚。R本人自食惡果不足惜塘慕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一筋夏、第九天 我趴在偏房一處隱蔽的房頂上張望蒂胞。 院中可真熱鬧,春花似錦条篷、人聲如沸骗随。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸿染。三九已至,卻和暖如春乞巧,著一層夾襖步出監(jiān)牢的瞬間涨椒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工绽媒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚕冬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓是辕,卻偏偏與公主長(zhǎng)得像囤热,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子获三,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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