docker

一、 解決問題


解決因運行環(huán)境而導致系統(tǒng)不可用或者出現(xiàn) bug 等問題伞辛。解決方法就是:提供一個統(tǒng)一的配置環(huán)境蚤氏。

二竿滨、 虛擬機


虛擬機(virtual machine)就是帶環(huán)境安裝的一種解決方案。它可以在一種操作系統(tǒng)里面運行另一種操作系統(tǒng)捏境,是全虛擬化的于游。

缺點:
(1)資源占用多

虛擬機會獨占一部分內(nèi)存和硬盤空間。它運行的時候垫言,其他程序就不能使用這些資源了贰剥。哪怕虛擬機里面的應用程序,真正使用的內(nèi)存只有 1MB筷频,虛擬機依然需要幾百 MB 的內(nèi)存才能運行蚌成。

(2)冗余步驟多

虛擬機是完整的操作系統(tǒng),一些系統(tǒng)級別的操作步驟凛捏,往往無法跳過担忧,比如用戶登錄。

(3)啟動慢

啟動操作系統(tǒng)需要多久坯癣,啟動虛擬機就需要多久示罗≡浚可能要等幾分鐘脯倒,應用程序才能真正運行。

三、 Linux 容器


Linux 容器(Linux Containers梨水,縮寫為 LXC)不是模擬一個完整的操作系統(tǒng)旦委,而是對進程進行隔離。或者說匀钧,在正常進程的外面套了一個保護層遣铝。對于容器里面的進程來說填硕,它接觸到的各種資源都是虛擬的翅帜,從而實現(xiàn)與底層系統(tǒng)的隔離。

由于容器是進程級別的,相比虛擬機有很多優(yōu)勢。

(1)啟動快

容器里面的應用骤素,直接就是底層系統(tǒng)的一個進程霎槐,而不是虛擬機內(nèi)部的進程。所以,啟動容器相當于啟動本機的一個進程与殃,而不是啟動一個操作系統(tǒng)爽篷,速度就快很多。

(2)資源占用少

容器只占用需要的資源,不占用那些沒有用到的資源复凳;虛擬機由于是完整的操作系統(tǒng)髓棋,不可避免要占用所有資源。另外,多個容器可以共享資源柒凉,虛擬機都是獨享資源蔬咬。

(3)體積小

容器只要包含用到的組件即可北启,而虛擬機是整個操作系統(tǒng)的打包,所以容器文件比虛擬機文件要小很多宇植。

總之忙上,容器有點像輕量級的虛擬機绣溜,能夠提供虛擬化的環(huán)境,但是成本開銷小得多恬叹。

四明肮、 docker 是什么?


Docker 屬于 Linux 容器的一種封裝,提供簡單易用的容器使用接口。

Docker 將應用程序與該程序的依賴褥芒,打包在一個文件里面很澄。運行這個文件讯蒲,就會生成一個虛擬容器。程序在這個虛擬容器里運行雷则,就好像在真實的物理機上運行一樣。有了 Docker,就不用擔心環(huán)境問題。

總體來說褐缠,Docker 的接口相當簡單胡桨,用戶可以方便地創(chuàng)建和使用容器膛虫,把自己的應用放入容器剧劝。容器還可以進行版本管理、復制抓歼、分享讥此、修改,就像管理普通的代碼一樣谣妻。

五萄喳、docker 的用途


Docker 的主要用途,目前有三大類蹋半。

(1)提供一次性的環(huán)境他巨。比如,本地測試他人的軟件减江、持續(xù)集成的時候提供單元測試和構(gòu)建的環(huán)境染突。

(2)提供彈性的云服務。因為 Docker 容器可以隨開隨關您市,很適合動態(tài)擴容和縮容觉痛。

(3)組建微服務架構(gòu)役衡。通過多個容器茵休,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構(gòu)手蝎。

六榕莺、 image 文件


Docker 把應用程序及其依賴,打包在 image 文件里面棵介。這個 image 文件钉鸯,就是一個鏡像,可以通過它去創(chuàng)建若干容器對象邮辽。類似于 Java 中類與對象的關系唠雕。

# 列出本機的所有 image 文件。
$ docker image ls

# 刪除 image 文件
$ docker image rm [imageName]

# 下載鏡像
$ docker pull [imageName]

七吨述、 容器文件


image 文件生成的容器實例岩睁,本身也是一個文件,稱為容器文件揣云。也就是說捕儒,一旦容器生成,就會同時存在兩個文件: image 文件和容器文件。而且關閉容器并不會刪除容器文件刘莹,只是容器停止運行而已阎毅。

# 列出本機正在運行的容器
$ docker container ls

# 列出本機所有容器,包括終止運行的容器
$ docker container ls --all

八点弯、 Dockerfile 文件


學會使用 image 文件以后扇调,接下來的問題就是,如何可以生成 image 文件抢肛?如果你要推廣自己的軟件肃拜,勢必要自己制作 image 文件。

這就需要用到 Dockerfile 文件雌团。它是一個文本文件燃领,用來配置 image。Docker 根據(jù) 該文件生成二進制的 image 文件锦援。

九猛蔽、 容器操作


查看容器:

# 查看正在運行的容器
$ docker ps 

-a 查看所有,-l 上一次運行灵寺,-f status=exited 退出的曼库。

創(chuàng)建/運行容器:

docker run

-i 運行;
-t 啟動后進入命令行略板;
-d 啟動后創(chuàng)建一個守護進程進入后臺運行毁枯;
--name 給容器命名;
-v 目錄映射關系 本地目錄:容器目錄叮称;
-p 端口映射關系 本機端口:容器端口种玛。

# 使用 centos:7 鏡像創(chuàng)建一個容器,名字為 mycentos瓤檐,啟動并進入命令行 
docker run -it --name=mycentos centos:7 /bin/bash

使用 exit 退出赂韵。

# 使用 centos:7 鏡像創(chuàng)建一個容器,名字為 mycentos挠蛉,啟動并進入后臺運行 
docker run -id --name=mycentos1 centos:7 

使用 docker exec -it mycentos1 /bin/bash 進入命令行祭示。 exit 退出,但是容器不會關閉谴古。
守護式容器要停止運行质涛,使用命令:docker stop mycentos1 即可。

容器創(chuàng)建后掰担,使用命令 docker start mycentos1 啟動汇陆。

目錄映射

docker run -id --name=mycentos2 -v /usr/local/test:/user/local/test1 centos:7 

這樣在本地的 /usr/local/test 就映射到容器的 /user/local/test1 目錄,本地的操作會自動同步到容器恩敌。
如果映射的是多級目錄瞬测,可能出現(xiàn)權(quán)限不足的提示。可以在創(chuàng)建容器時需要添加參數(shù):--privileged=true月趟。

端口映射

docker run -id --name=mycentos3 -p [宿主機端口]:[容器端口] centos:7 

查看IP信息

docker inspect [容器名]
或者:
docker inspect --format='{{.NetworkSettings.IPAddress}}' [容器名]

刪除容器

docker rm [容器名/容器id]
注意:無法刪除正在運行的容器灯蝴。

刪除鏡像

docker rmi [鏡像 image id]
注意:無法刪除掛載容器的鏡像。

文件拷貝

docker cp 用于宿主機與容器進行文件/文件夾交換操作孝宗。

docker cp 源文件/文件夾 目標文件/文件夾

十穷躁、 國內(nèi)鏡像


https://lug.ustc.edu.cn/wiki/mirrors/help/docker

或者是用阿里云的鏡像服務,可以創(chuàng)建私人倉庫因妇。

十一问潭、 容器部署


部署一個mysql:

抽取 mysql

docker pull mysql

部署:

docker run -id --name=mymysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

初始化密碼為123456,就可以通過宿主機ip婚被、端口33306 去連這個容器里面的mysql 了狡忙,如果開了防火墻,需要將 33306開放為可訪問址芯。

部署一個 Nginx 容器灾茁。

抽取 Nginx

docker pull nginx

部署:

docker run -id --name=mynginx -p 80:80 nginx

配置文件在容器目錄 /etc/nginx/nginx.conf

十二谷炸、容器備份與遷移


  1. 將容器保存為鏡像:
docker commit [容器名] [鏡像名]

使用 docker images 查看北专。

  1. 導出:
docker save -o my.rar [鏡像名]

就會在當前目錄導出這個文件。

  1. 導入
docker local -i my.rar
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旬陡,一起剝皮案震驚了整個濱河市拓颓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌描孟,老刑警劉巖驶睦,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異画拾,居然都是意外死亡啥繁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門青抛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人酬核,你說我怎么就攤上這事蜜另。” “怎么了嫡意?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵举瑰,是天一觀的道長。 經(jīng)常有香客問我蔬螟,道長此迅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮耸序,結(jié)果婚禮上忍些,老公的妹妹穿的比我還像新娘。我一直安慰自己坎怪,他們只是感情好罢坝,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搅窿,像睡著了一般嘁酿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上男应,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天闹司,我揣著相機與錄音,去河邊找鬼沐飘。 笑死开仰,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的薪铜。 我是一名探鬼主播众弓,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼隔箍!你這毒婦竟也來了谓娃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤蜒滩,失蹤者是張志新(化名)和其女友劉穎滨达,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俯艰,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡捡遍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了竹握。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片画株。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖啦辐,靈堂內(nèi)的尸體忽然破棺而出谓传,到底是詐尸還是另有隱情,我是刑警寧澤芹关,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布续挟,位于F島的核電站,受9級特大地震影響侥衬,放射性物質(zhì)發(fā)生泄漏诗祸。R本人自食惡果不足惜跑芳,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望直颅。 院中可真熱鬧博个,春花似錦、人聲如沸际乘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脖含。三九已至罪塔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間养葵,已是汗流浹背征堪。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留关拒,地道東北人佃蚜。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像着绊,于是被迫代替她去往敵國和親谐算。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 《Docker從入門到實踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,352評論 1 39
  • docker常用命令原理圖概覽: 按照docker官網(wǎng)上的說法归露,docker的文件系統(tǒng)分為兩層:bootfs和ro...
    燕京博士閱讀 2,950評論 2 32
  • 一 洲脂、什么是 Docker Docker 最初是 dotCloud 公司創(chuàng)始人 Solomon Hykes 在法國...
    Blazzer閱讀 3,129評論 0 13
  • 同濟,總院剧包,27號樓恐锦,Pet中心,14:16疆液,空腹等待中 同在等待的說著不同口音的男男女女在七嘴八舌地討論著檢查一铅,...
    IrisG閱讀 114評論 0 0
  • 冬日午后的陽光是讓人迷戀的,暖而明亮堕油,從窗戶中探進潘飘,斜斜地倚在墻上,畫一扇印象派的窗馍迄,或是在地上懶洋洋地躺著福也,揮發(fā)...
    _東哥閱讀 337評論 0 2