Docker初體驗

概念和理解

Docker是一個容器引擎。doker官方網站
一個容器實際上是運行在宿主機上的一個進程。只不過在啟動這個進程之前,進行了一些特別的處理,讓這個進程進入一個虛擬的環境。
每個docker容器運行在獨立的虛擬環境中,最重要的是文件系統的讀寫系統。依賴于Linux內涵的兩個特性:
Namespaces命名空間:是一種封裝的概念,提供了系統資源的隔離

  1. PID 進程隔離
  2. NET 管理網絡接口
  3. IPC 管理跨進程通信的訪問
  4. MNT 管理掛載點
  5. UTS 隔離內核

Control groups控制組:用來分配資源,Linux kernel 2.6.24 版本開始擁有

  1. 資源限制:對進程組進行內存使用限制
  2. 優先級設置
  3. 資源計量
  4. 資源控制:可以將進程組掛起和恢復

Docker容器的能力:

  1. 文件系統隔離
  2. 進程隔離
  3. 網絡隔離
  4. 資源隔離和分組
aa
aa

目標:

  1. 輕量級的建模方式
  2. 職責與邏輯分離
  3. 快速高效開發生命周期
  4. 鼓勵使用面向服務的框架

什么場合可以使用:

  1. 使用Docker容器進行開發,測試,部署服務
  2. 創建隔離的運行環境
  3. 搭建測試環境,特別是集群環境
  4. 構建Paas
  5. 提供Saas

安裝

# 確認64位系統
uname -i
# 確認Linux內涵版本,內部版本必須>=3.10
uname -r
# 安裝在CentOS 7 
yum -y install docker
# 安裝在CentOS 6 
yum -y install docker-io

啟動

# 啟動
systemctl start docker.service
# 停止
systemctl stop docker.service
# 運行命令的幫助
sudo docker help run

加速器

https://dashboard.daocloud.io/
https://cloud.docker.com

Docker核心概念

Docker是C/S架構(客戶端,守護進程)


整體示意圖
整體示意圖

有下面三個核心概念:

  1. 倉庫
    Registry概念:本地Registry,官方Registry
    保存用戶的鏡像,Docker Hub是一個官方倉庫。減少構建時間
    從官方倉庫拉取鏡像,可以使用daocloud提供的加速器服務
docker pull redis:2.8.19
  1. 鏡像
    Docker鏡像:暫時可以理解為目錄,是容器的源代碼,每一個容器啟動的時候在鏡像中進行復制,然后啟動容器。
    最底端是引導文件系統 bootfs
    引導文件系統 rootfs永遠是只讀狀態,聯合加載(加載多個文件系統,進行疊加)
    基礎鏡像+聯合加載文件系統
# 查看鏡像
# 鏡像ID,鏡像tag,鏡像倉庫,倉庫+tag可以唯一標識一個鏡像
docker images
page
page
  1. 容器
    是啟動和執行階段,通過鏡像來啟動。鏡像中只讀層永遠是只讀的,在寫的時候進行復制,生成副本
    Docker容器:守護式容器,交互式容器
    參數:
    -it 用于創建交互式容器
    -d 用于創建守護式容器
    -name 給容器指定名稱
  2. 試驗一個web服務器
# 創建交互式容器
docker run -p 80 --name web -i -t ubuntu /bin/bash
# 安裝Nginx
apt-get update
apt-get install -y nginx
# 安裝vim
apt-get install -y vim
# 創建網站目錄
mkdir -p /var/www/html
cd /var/www/html
# vim創建一個靜態頁面
# nginx配置文件

鏡像

鏡像:名字,TAG
鏡像文件是分層的

  1. 可以使用pull命令從倉庫獲取鏡像
sudo docker pull registory.hub.docker.com/ubuntu:latest

從注冊服務器:registory.hub.docker.com
倉庫:ubuntu
標記:latest

  1. 通過鏡像創建容器
sudo docker run -i -t ubuntu /bin/bash
  1. 查看鏡像信息
docker images

查看信息包括:倉庫,TAG,唯一ID,創建時間,鏡像大小
通過倉庫和TAG可以唯一確定一個鏡像
可以為本地鏡像增加TAG

docker tag docker.io/konstruktoid/ubuntu:latest ubuntu:linxm

查看鏡像詳細信息

docker inspect ununtu:linxm

鏡像尋找

docker search mysql

刪除鏡像

docker rmi ubuntu:linxm

創建鏡像

創建鏡像有三種:

  1. 基于已有鏡像的容器創建
$ docker run -it ubuntu:linxm /bin/bash
$ touch test
$ exit
$ docker ps -a
$ docker commit -m "增加一個文件" -a "作者" 6b1924dabf20 test 

上面的例子是增加了一個文件,更新鏡像

  1. 基于本地模板導入
# 存出:鏡像保存到本地文件
$ docker save -o ubuntu.tar ubuntu:linxm
# 載入:將鏡像載入
$ docker load --input ubuntu.tar
# 上傳鏡像
$ docker push NAME:tag
  1. 基于Dockerfile創建

容器

查看本機存在的容器

# 查看容器
$ docker ps -a
# 刪除容器,指定一個容器ID
$ docker rm 394

容器是鏡像的一個運行實例,它帶有額外的可寫文件層
創建容器,啟動容器,終止容器,進入容器執行操作,刪除容器,容器遷移

# 創建容器
$ docker create -it ubuntu:lastest
$ docker ps -a
$ docker run ubuntu /bin/echo 'Hello world'

一種是基于鏡像新建一個容器并啟動,另一個是將終止狀態的容器重新啟動。
獲取容器的輸出信息

$ docker logs 1afe

終止容器

$ docker stop 1afe

主要命令如下:

# 會啟動新的shell,鏡像有自己的默認命令
sudo docker run -it centos:6 /bin/bash
# 查看docker容器
docker ps
docker ps -a
# docker容器的詳細信息
docker inspect
docker inspect -f 
# 查看IP地址
docker inspect -f  '{{.NetworkSettings.IPAddress}}' f311b

交互式容器的操作:
在交互式容器基礎上,ctrl+p,ctrl+q進入守護式容器
進入守護式容器:docker attach 容器名字
停止容器:docker stop 容器名
運行容器的端口:-p 80 -P 全部

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,505評論 2 379

推薦閱讀更多精彩內容