Docker

阿里云服務器3折開售(點此直達)

image

很久以前尼荆,大概是2015年的時候烛亦,就開始想學學Python了诈泼。。煤禽。
為此铐达,興致沖沖的買了樹莓派2B+ 。檬果。瓮孙。。
然后汁汗,衷畦,然后,知牌,吃灰了好久。斤程。角寸。

然而隨著工作時間變成,它慢慢成為了我 Linux實驗環(huán)境的好助手忿墅。各種玩的扁藕,實驗的全丟在上面。
最近幾個月疚脐,也在慢慢接觸Docker亿柑。

還好,Docker這個東東棍弄,也支持 Raspberry 呢望薄。讓它繼續(xù)發(fā)揮它的優(yōu)勢吧疟游。。免得埋沒了這么好的一塊板子痕支。


沒圖說JJ 所以此處有圖 哈哈.png

有時間再整理關(guān)于 玩樹莓派的這些年的一些東西吧颁虐。
現(xiàn)在這是開始玩 Docker 時間。卧须。另绩。

zhuanzhu.png

開始主題

官方鏡像(docker Registry):docker hub

還有 Quay.io 存儲著 CoreOS,Google的Google Container Registry,Kubernetes鏡像都在這里

國內(nèi)Docker HUb的鏡像 (docker Registry)

提供 docker Registry 鏡像儲存服務的國內(nèi)廠商

網(wǎng)易云鏡像服務 ( https://c.163.com/hub#/m/library/ )

DaoCloud鏡像市場 (https://hub.daocloud.io

阿里云鏡像庫 (https://cr.console.aliyun.com

還可以搭建私有的 Docker Registry

Docker官方提供了搭建私有的 Docker Registry 的鏡像 https://store.docker.com/images/registry

官方鏡像只是實現(xiàn)了 私有docker注冊的 服務端實現(xiàn)(https://docs.docker.com/registry/spec/api),只是支持 docker 命令花嘶。沒有實現(xiàn)圖形界面笋籽、鏡像維護、用戶管理椭员、訪問控制等高級功能车海。

但是有第三方軟件不僅實現(xiàn)了這些基礎(chǔ)的 api,還實現(xiàn)了一些高級功能拆撼。

比如: VMWare Harbor (https://) 和 Sonatype Nexus (https://www.sonatype.com/docker)

以上這些都是用于存儲 Docker 鏡像的地方容劳。

==================================================

添加 Docker 源

Dokcer 分為 Docker CE(社區(qū)版) 和 Docker EE(企業(yè)版) 兩個版本。

官方安裝指南: https://docs.docker.com/engine/installation

Ubuntu

切忌:切勿在沒有給 APT 配置 Docker 源的情況下直接使用 apt 命令安裝Docker闸度。

卸載舊版本竭贩,舊版本Docker稱為 docker 或者 docker-engine 。使用:

sudo apt-get remove docker docker-engine docker.io

來卸載

Ubuntu14.04 安裝 AUFS 內(nèi)核驅(qū)動模塊

有一部分發(fā)行版的沒有安裝 AUFS可選內(nèi)核模塊莺禁,它作為 Docker 的儲存層驅(qū)動存在留量。

命令:

sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

強烈建議使用國內(nèi)源。國外源太慢了哟冬。

添加 APT HTTPS的 CA 證書 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common //添加 國內(nèi)源 GPG 密鑰 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - //官方源 密鑰: //curl -fsSL https://download.docker.com/linux/ubuntu/gpg | grep sudo apt-key add -

然后楼熄,向 source.list 中添加Docker 軟件源

//給 apt 添加 國內(nèi) docker 源 sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu (lsb_release -cs) stable" //官方源 //sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu(lsb_release -cs) stable)"

安裝 Docker-ce

1、手動安裝:

先更新軟件包

sudo apt-get update sudo apt-get install docker-ce

2浩峡、也可以可岂,使用 腳本自動安裝

主要用于測試和開發(fā)環(huán)境,Ubuntu上可以使用腳本安裝翰灾,簡化安裝流程

curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun

這個自動化的腳本安裝的是 Docker Edge 版本缕粹。

腳本亦會將所有的準備工作做好,不用任何操心纸淮。

啟動Docker CE

sudo systemctl enable docker sudo systemctl start docker

ubuntu 14.04 比較特殊平斩,使用下面命令啟動

sudo service docker start

建立 docker 用戶組

默認情況下,docker 命令行 使用 Unix socket 與 Docker 引擎進行通訊咽块。

所以绘面,在設(shè)計上,為了安全考慮,只有 docker 組 和 root 用戶揭璃,才能和 docker 引擎通訊晚凿。

而,一般情況下塘辅,我們又不直接使用 root 用戶進行操作晃虫,所以,很有必要建立一個 docker 用戶組扣墩。

建立 docker 組

sudo groupadd docker

將當前用戶 加入 docker 組

sudo usermod -aG docker $USER

然后哲银,退出當前終端。再重新連接呻惕。測試 Docker 安裝是否正確

docker run hello-world xxxx 它會從 Docker 倉庫 上面去拉取鏡像荆责。

[圖片上傳失敗...(image-9a1508-1562989772615)]

出現(xiàn)這句話,證明亚脆,安裝沒有任何問題

==================插入 樹莓派的安裝方法========================

Docker CE 支持 Raspberry Stretch 和 Raspberry Jessie 操作系統(tǒng)做院。

1、安裝 CA 證書

sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg2 lsb-release software-properties-common

2 添加軟件源的 GPG 密鑰

//國內(nèi)源 密鑰 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/raspbian/gpg | sudo apt-key add - //官方源密鑰 curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -

3 向 source.list 中添加 Docker CE 軟件源

// 國內(nèi)源 sudo add-apt-repository "deb [arch=armhf] https://mirrors.ustc.edu.cn/docker-ce/linux/raspbian (lsb_release -cs) stable " //官方源 sudo add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/raspbian(lsb_release -cs) stable"

4 安裝 Docker CE

//更新 apt 緩存 sudo apt-get update sudo apt-get install docker-ce

使用腳本自動安裝

curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun

5 啟動 Docker

sudo systemctl enable docker sudo systemctl start docker

6 建立 Docker 用戶組

sudo groupadd docker

將當前用戶加入 Docker 用戶組

sudo usermod -aG docker $USER

7 測試 Docker 是否安裝正確

docker run arm32v7/hello-world

[圖片上傳失敗...(image-1dd78a-1562989772615)]

安裝成功

docker run -it ubuntu bash

注意:ARM 平臺不能使用 x86鏡像

查詢 Raspbian 可使用鏡像訪問 arm32v7 (https://hub.docker.com/u/arm32v7)

==================== 樹莓派的安裝方法 結(jié)束=====================

鏡像加速

Docker 官方的國內(nèi)鏡像: https://registry.docker-cn.com

七牛云加速器 https://reg-mirror.qiniu.com

在配置時濒持,若發(fā)現(xiàn)拉取不到鏡像键耕,就馬上切換另一個加速器地址

Ubuntu 14.04 和 Debian 7 Wheezy 配置方法

編輯 /etc/default/docker 文件,在

DOCKER_OPT="--registry-mirror=https://registry.docker-cn.com"

然后重啟服務

sudo service docker restart

Ubuntu 16.04 柑营、Debian8+屈雄、 CentOS 7

在 /etc/docker/daemon.json 中(如果文件不存在,就新建該文件)官套,寫入

{ "registory-mirror":[ "https://registry.docker-cn.com" ] }

注意:該文件內(nèi)酒奶,一定要保持 JSON的規(guī)范。否則 docker 不能啟動

重啟服務

sudo systemctl daemon-reload sudo systemctl restart docker

注意:如果已經(jīng)按照舊的教程奶赔,修改了 docker.service 文件內(nèi)容惋嚎,那么就需要去掉 docker.service 中添加的內(nèi)容(--registry-mirror=https://registry.docker-cn.com)。

檢查是否配置成功

docker info

[圖片上傳失敗...(image-3cd049-1562989772615)]

如果換源后站刑,還是拉取緩慢另伍,就可以繼續(xù)換。

獲取鏡像

docker pull

命令格式

[圖片上傳失敗...(image-919192-1562989772615)]

例如:

docker pull ubuntu:16.04

下載的過程中绞旅,我們可以看到鏡像的存儲质况,是分層的。所以玻靡,下載的時候,也是分層進行下載的中贝。

運行

啟動 ubuntu:16.04里面的bash囤捻,進行交互式操作

docker run -it --rm ubuntu:16.04 bash //如果進來了 cat /etc/os-release

docker run 是運行容器的命令

  • -it :是兩個參數(shù). -i 是交互式操作, -t 是終端

  • --rm :這個參數(shù)是說,容器退出后隨之將其刪除邻寿。

  • 一般情況下蝎土,退出的容器并不會立即刪除视哑,除非手動 docker rm 。

  • 這里誊涯,我們執(zhí)行這個命令只是看看效果挡毅,不需要排障等操作。因此 --rm 可以避免浪費空間

  • ubuntu:16.04 : 是指使用 ubuntu16.04 鏡像為基礎(chǔ)來啟動容器

  • bash : 放在鏡像后的是命令暴构,這里我們需要使用的交互式 shell跪呈,因此使用的 bash

最后,可以通過 exit 命令取逾,退出容器

列出鏡像

要想看看耗绿,已經(jīng)下載下來的鏡像,可以使用

docker image ls 命令

[圖片上傳失敗...(image-ffca51-1562989772614)]

查看砾隅,鏡像误阻、容器、數(shù)據(jù)卷 所占用的空間

docker system df

[圖片上傳失敗...(image-fa27cd-1562989772614)]

虛懸鏡像 (特殊的鏡像)

[圖片上傳失敗...(image-fc7d60-1562989772614)]

是因為晴埂,在版本跌代的過程中究反,老版本升級了,當官方發(fā)布新版本后儒洛,重新 docker pull 鏡像名 精耐,這時,新下載的鏡像使用了老的鏡像的名字晶丘,而老的鏡像名字就會變成 <none>

除了 docker pull 會出現(xiàn)這種情況黍氮,docker build 也會出現(xiàn)。

新舊鏡像同名浅浮,舊鏡像名字被取消沫浆,從而出現(xiàn)倉庫名、標簽均為 <none> 的鏡像滚秩。

這類無標簽鏡像就被稱為 虛懸鏡像(dangling image)

這類鏡像专执,是沒有啥價值的,可以隨意刪除郁油。

查看這類鏡像

docker image ls -f dangling=true

[圖片上傳失敗...(image-8bf2d0-1562989772614)]

刪除 虛懸鏡像

docker image prune

中間層鏡像

為了加速鏡像構(gòu)建本股、重復利用資源,Docker 會利用 中間層鏡像桐腌。所以拄显,使用一段時間后,可能會看到一些依賴的中間層鏡像案站。

docker image ls 只會顯示頂層的鏡像躬审。看不到中間層鏡像。

如果想要看到的話,只需要再加上 -a 參數(shù)

docker image ls -a

[圖片上傳失敗...(image-3d49e9-1562989772614)]

列出部分鏡像

docker image ls 默認情況下承边,會列出所有的頂級鏡像遭殉,但是當只需要列出部分鏡像的情況下,就需要加上 額外的 參數(shù)博助。

  • 根據(jù)倉庫名列出鏡像

docker image ls ubuntu

[圖片上傳失敗...(image-302d4-1562989772614)]

  • 列出特定的某個鏡像险污,指定 倉庫名和標簽

docker image ls ubuntu:16.04

[圖片上傳失敗...(image-13b63d-1562989772614)]

docker image ls 還支持強大的過濾器參數(shù) --filter 或者簡寫 -f .我們之前的,過濾虛懸鏡像就是用的 --filter 的簡寫方法富岳。

[圖片上傳失敗...(image-7c699a-1562989772614)]

[圖片上傳失敗...(image-c863ac-1562989772614)]

以特定格式顯示

[圖片上傳失敗...(image-2a0a54-1562989772614)]

[圖片上傳失敗...(image-a87f1a-1562989772614)]

[圖片上傳失敗...(image-ce65ee-1562989772613)]

[圖片上傳失敗...(image-e4dc12-1562989772613)]

刪除本地鏡像

docker image rm 命令

命令格式

[圖片上傳失敗...(image-1b1508-1562989772613)]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛔糯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子城瞎,更是在濱河造成了極大的恐慌渤闷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脖镀,死亡現(xiàn)場離奇詭異飒箭,居然都是意外死亡,警方通過查閱死者的電腦和手機蜒灰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門弦蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人强窖,你說我怎么就攤上這事凸椿。” “怎么了翅溺?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵脑漫,是天一觀的道長。 經(jīng)常有香客問我咙崎,道長优幸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任褪猛,我火速辦了婚禮网杆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伊滋。我一直安慰自己碳却,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布笑旺。 她就那樣靜靜地躺著昼浦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筒主。 梳的紋絲不亂的頭發(fā)上座柱,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天迷帜,我揣著相機與錄音,去河邊找鬼色洞。 笑死,一個胖子當著我的面吹牛冠胯,可吹牛的內(nèi)容都是我干的火诸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼荠察,長吁一口氣:“原來是場噩夢啊……” “哼置蜀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悉盆,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤盯荤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后焕盟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秋秤,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年脚翘,在試婚紗的時候發(fā)現(xiàn)自己被綠了灼卢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡来农,死狀恐怖鞋真,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沃于,我是刑警寧澤涩咖,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站繁莹,受9級特大地震影響檩互,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蒋困,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一盾似、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雪标,春花似錦零院、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嵌牺,卻和暖如春打洼,著一層夾襖步出監(jiān)牢的瞬間龄糊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工募疮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炫惩,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓阿浓,卻偏偏與公主長得像他嚷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芭毙,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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