Docker快速入門到實踐

Docker是什么

Docker 是一個開源的應(yīng)用容器引擎盹愚,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中伤柄,然后發(fā)布到任何流行的 Linux 機(jī)器上哪雕,也可以實現(xiàn)虛擬化郭赐。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口宙帝。

Docker組件(C/S)

? ? Docker Client:Docker的客戶端

? ? Docker Server:Docker daemon的主要組成部分丧凤,接收用戶通過Docker Client發(fā)送的請求,并按照相應(yīng)的路由規(guī)則實現(xiàn)路由分發(fā)步脓。

? ? Docker鏡像:Docker鏡像運(yùn)行之后變成容器愿待。(docker run)

? ? Docker Registry:Registry是Docker鏡像的中央存儲倉庫(pull/push)

? ? 整個流程:獲取鏡像->根據(jù)鏡像創(chuàng)建容器->在容器內(nèi)創(chuàng)建各種服務(wù)[可以分多個容器創(chuàng)建]

Docker For Windows安裝

? ? 系統(tǒng)要求:支持虛擬化且WIN10? 10586版本以上且必須先安裝hyper-v

? ? hyper-v屬系統(tǒng)自帶浩螺,開啟功能點電腦右下腳-》所有設(shè)置-》應(yīng)用和功能-》程序和功能-》啟用/關(guān)閉windows功能,開啟后需重啟

? ? 需要注意的是仍侥,Hyper-v和主流的虛擬機(jī)軟件vmware要出、virtualbox會有沖突,所以如果要玩docker农渊,最好放棄vmware和virtualbox

? ? 安裝好Hyper-v后患蹂,前去http://www.docker.com/ 下載docker for windows安裝包后進(jìn)行安裝

? ? 安裝好后主設(shè)置界面如下:

鏡像

? ? 下載鏡像

? ? 可以使用docker pull命令來從倉庫獲取所需要的鏡像

? ? 下面的例子將從Docker Hub倉庫下載一個ubuntu16.04操作系統(tǒng)的鏡像

? ? docker pull ubuntu:16.04 [在國內(nèi)由于網(wǎng)絡(luò)問題這會很慢或根本下不下來]

? ? 此時最好換國內(nèi)鏡像或采用加速器,國內(nèi)的daoclud.io提供專業(yè)的免費(fèi)解決方案砸紊,如下圖传于,更換加速器[http://f71fa5d4.m.daocloud.io],即可保證下載速度

? ? 然后重新下載鏡像

? ? docker pull daocloud.io/ubuntu:16.04

? ? 查看鏡像

? ? docker images

移除鏡像

? ? docker rmi容器ID[如鏡像有被容器使用則需先用docker rm移除容器]

容器

? ? 與前臺進(jìn)行交互的容器

? ? 以進(jìn)程方式運(yùn)行在后臺的容器

? ? 基于鏡像運(yùn)行容器

? ? docker run -t -i daocloud.io/ubuntu /bin/bash

? ? docker ps -a ?列出所有容器

? ? docker logs ?顯示容器的標(biāo)準(zhǔn)輸出

? ? docker stop 停止容器

使用Dockerfile創(chuàng)建鏡像并運(yùn)行容器

? ? 簡單的說:以前docker run創(chuàng)建一個docker容器批糟,有時候會附帶不少的參數(shù)

? ? 比如:

? ? docker run -d -p 22 -p 8080:8080 ruifengyun/ubunt-redis "redis-server redis.conf && /usr/sbin/sshd -D"

? ? 會發(fā)現(xiàn)很是麻煩格了,這個時候咱們可以創(chuàng)建編輯一個dockerfile文件看铆,生成新的image徽鼎,然后從這個新的鏡像創(chuàng)建容器,容器里面相關(guān)聯(lián)的啟動項和端口弹惦,目錄都是提前定義好的

? ? cat Dockerfile

? ?```

? ? FROM daocloud.io/mysql

? ? # Write Permission

? ? RUN usermod -u 1000 mysql && chown mysql.mysql /var/run/mysqld/

? ? EXPOSE 3306

? ? VOLUME ["/opt"]

? ? ```

? ? FROM? 是作為基礎(chǔ)的鏡像

? ? RUN? ? 可以理解為在FROM下來的鏡像做一些環(huán)境的部署

? ? CMD? ? 是創(chuàng)建容器后否淤,會運(yùn)行的命令

? ? EXPOSE 是暴露的端口

? ? MAINTAINER 通知的郵件

? ? ADD? ? 相當(dāng)于把主機(jī)的start.sh腳本傳遞給了容器里面

? ? VOLUME? 是本地的路徑的映射

? ? WORKDIR 是執(zhí)行的路徑,也就是cmd entrypoint執(zhí)行的路徑

? ? docker build -t beyound/mysql ./

Docker openresty-php7鏡像制作實戰(zhàn)[openresty+php7環(huán)境]

? ??下載官方centos鏡像 [基于官方docker centos7鏡像]

? ? docker pull daocloud.io/library/centos

? ? docker images

? ? docker run -t -v E:/FangCloudSync:/data -i daocloud.io/centos /bin/bash? #-v表示掛載目錄棠隐,需在docker設(shè)置里掛載盤符才可正確運(yùn)行

? ? 保存對容器的修改[提交為鏡像]

? ? docker commit ca01 openresty-php7

? ? 下次可以命令 docker run -t -v E:/FangCloudSync:/data -i openresty-php7 /bin/bash 初始化并進(jìn)入容器

? ? 進(jìn)入已存在的容器

? ? docker start 4a78a7c12bbf

? ? docker attach 4a78a7c12bbf

? ? 導(dǎo)出和導(dǎo)入鏡像

? ? 導(dǎo)出:docker save -o openresty-php7.tar openresty-php7

? ? 導(dǎo)入:docker load < openresty-php7.tar

? ? 安裝openresty及php7

? ? 過程略

? ? 此步最終實現(xiàn)

? ? /etc/init.d/php-fpm stop|start|restart|reload

? ? 系列命令

? ? 指定ip開容器石抡,并且和內(nèi)網(wǎng)在同一個網(wǎng)段

? ? 1.創(chuàng)建docker的網(wǎng)絡(luò)

? ? ? ? docker network create --subnet=172.10.0.0/16 shadownet

? ? 2.容器內(nèi)打開包轉(zhuǎn)發(fā)

? ? ? ? echo 1 > /proc/sys/net/ipv4/ip_forward

? ? 3.開服務(wù)器測試

? ? ? ? docker run -itd --net shadownet --ip 172.10.89.3 --name web --hostname nginx openresty-php7 /bin/bash

? ? 4.docker下nginx + php多機(jī)集群實戰(zhàn)? [docker對外以端口的形式暴露]

? ? ? ? ? ? nginx:docker run -p 80:80 -itd --net shadownet --ip 172.10.89.3 --name web --hostname nginx -v E:/FangCloudSync:/data openresty-php /bin/bash /data/Work/Docker/web/web.sh

? ? ? ? ? ? php1:docker run -itd --net shadownet --ip 172.10.89.4 --name php1 --hostname php1 -v E:/FangCloudSync:/data openresty-php /bin/bash /data/Work/Docker/php/php.sh

? ? ? ? ? ? php2:docker run -itd --net shadownet --ip 172.10.89.5 --name php2 --hostname php2 -v E:/FangCloudSync:/data openresty-php /bin/bash /data/Work/Docker/php/php.sh

? ? ? ? ? ? php3:docker run -itd --net shadownet --ip 172.10.89.6 --name php3 --hostname php3 -v E:/FangCloudSync:/data openresty-php /bin/bash /data/Work/Docker/php/php.sh

? ? ? ? ? ? 如上面的后臺方式啟動后,可以使用 docker exec -it web bash進(jìn)入系統(tǒng)

? ? ? ? ? ? [windows下:winpty docker exec -it web bash]

? ? Tips:[Docker為什么剛運(yùn)行就退出了?]

? ? http://blog.csdn.net/meegomeego/article/details/50707532

? ? 因而此處/data/Work/Docker/php/php.sh寫法如下

? ? 主機(jī)IP在哪:

? ? 本文涉及的openresty-php7鏡像包下載地址:

? ? ? ? ? ? ? ? ? ?鏈接:http://pan.baidu.com/s/1dFjHV3r 密碼:zm1f

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末助泽,一起剝皮案震驚了整個濱河市啰扛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嗡贺,老刑警劉巖隐解,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诫睬,居然都是意外死亡煞茫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門摄凡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來续徽,“玉大人,你說我怎么就攤上這事亲澡∏张ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵床绪,是天一觀的道長客情。 經(jīng)常有香客問我捎琐,道長,這世上最難降的妖魔是什么裹匙? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任瑞凑,我火速辦了婚禮,結(jié)果婚禮上概页,老公的妹妹穿的比我還像新娘籽御。我一直安慰自己,他們只是感情好惰匙,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布技掏。 她就那樣靜靜地躺著,像睡著了一般项鬼。 火紅的嫁衣襯著肌膚如雪哑梳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天绘盟,我揣著相機(jī)與錄音鸠真,去河邊找鬼。 笑死龄毡,一個胖子當(dāng)著我的面吹牛吠卷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播沦零,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼祭隔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了路操?” 一聲冷哼從身側(cè)響起疾渴,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎屯仗,沒想到半個月后搞坝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祭钉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年瞄沙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慌核。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡距境,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出垮卓,到底是詐尸還是另有隱情垫桂,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布粟按,位于F島的核電站诬滩,受9級特大地震影響霹粥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疼鸟,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一后控、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧空镜,春花似錦浩淘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洼怔,卻和暖如春署惯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背镣隶。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工极谊, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矾缓。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓怀酷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗜闻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

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