【Docker筆記】CentOS7安裝Docker

docker是什么匪煌?

? Docker 是一個開源的應(yīng)用容器引擎党巾,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上驳规,也可以實(shí)現(xiàn)虛擬化署海,容器是完全使用沙箱機(jī)制砸狞,相互之間不會有任何接口。

Docker 包括三個基本概念:

  • 鏡像(Image):Docker 鏡像(Image)踱启,就相當(dāng)于是一個 root 文件系統(tǒng)研底。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統(tǒng)的 root 文件系統(tǒng)。
  • 容器(Container):鏡像(Image)和容器(Container)的關(guān)系冠蒋,就像是面向?qū)ο蟪绦蛟O(shè)計中的類和實(shí)例一樣乾胶,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時的實(shí)體恋脚。容器可以被創(chuàng)建、啟動吨掌、停止脓恕、刪除、暫停等秋茫。
  • 倉庫(Repository):倉庫可看著一個代碼控制中心乃秀,用來保存鏡像跺讯。

docker的安裝

  1. 查看內(nèi)核(建議切換到root用戶進(jìn)行安裝docker)

Docker 運(yùn)行在CentOS 7 上,要求系統(tǒng)為64位局荚、系統(tǒng)內(nèi)核版本為 3.10 以上愈污。

Docker 運(yùn)行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統(tǒng)為64位首装、系統(tǒng)內(nèi)核版本為 2.6.32-431 或者更高版本擎析。

[root@localhost ~]# uname -r
3.10.0-957.el7.x86_64
[root@localhost ~]# 

  1. 把yum包更新到最新
[root@localhost ~]# yum update

  1. 卸載舊版本(如果安裝過舊版本的話揍魂,第一次安裝不用管這一步)

    查看是否安裝了docker
    [root@localhost ~]# yum list installed | grep docker
    
    較舊的 Docker 版本稱為 docker 或 docker-engine 。如果已安裝這些程序喜最,請卸載它們以及相關(guān)的依賴項庄蹋。從 2017 年 3 月開始 docker 在原來的基礎(chǔ)上分為兩個分支版本: Docker CE 和 Docker EE迷雪。
    Docker CE 即社區(qū)免費(fèi)版章咧,Docker EE 即企業(yè)版赁严,強(qiáng)調(diào)安全,但需付費(fèi)使用疼约。
    [root@localhost ~]#  yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    
    如果是較新版本采用下面的方式進(jìn)行卸載
    [root@localhost ~]#  yum remove docker-ce
    
    刪除鏡像文件程剥、容器汤踏、掛載目錄、自定義配置文件等
    [root@localhost ~]#  rm -rf /var/lib/docker                  
    
    
  2. 安裝需要的軟件包昙沦, yum-util 提供yum-config-manager功能载荔,另外兩個(device-mapper-persistent-data 和 lvm2)是devicemapper驅(qū)動依賴的

[root@localhost ~]#  yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 設(shè)置yum源(選一個源設(shè)置即可)
4.1 阿里云源
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.1 官方源
[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

說明:上面阿里云源和官方源兩者命令選其一執(zhí)行即可懒熙。不要兩個都執(zhí)行工扎!

  1. 查看所有倉庫中所有docker版本
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64            18.06.3.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.2.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable

  1. 選擇相應(yīng)版本進(jìn)行安裝(yun install docker-ce-版本號肢娘;下面版本17.12.0.ce是由17.12.0.ce-1.el7.centos得來)

    [root@localhost ~]# yum install docker-ce-17.12.0.ce
    安裝過程選y舆驶。
    
    當(dāng)然也可以不指定版本安裝,安裝最新版本
    [root@localhost ~]# yum install docker-ce
    
    
  2. 啟動docker

    默認(rèn)安裝后拘荡,docker未啟動
    [root@localhost ~]# systemctl status  docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
         Docs: https://docs.docker.com
    
    啟動docker
    [root@localhost ~]# systemctl start  docker
    
    
  3. 查看docker版本(client和server都啟動了則證明安裝成功)

    [root@localhost ~]# docker version
    Client:
     Version:    17.12.0-ce
     API version:    1.35
     Go version: go1.9.2
     Git commit: c97c6d6
     Built:  Wed Dec 27 20:10:14 2017
     OS/Arch:    linux/amd64
    
    Server:
     Engine:
      Version:   17.12.0-ce
      API version:   1.35 (minimum version 1.12)
      Go version:    go1.9.2
      Git commit:    c97c6d6
      Built: Wed Dec 27 20:12:46 2017
      OS/Arch:   linux/amd64
      Experimental:  false
    [root@localhost ~]# 
    
    
    1. 設(shè)置docke開機(jī)啟動
    ```
    [root@localhost ~]#  systemctl enable docker
    [root@localhost ~]#  chkconfig docker on
    
    ```
    

國內(nèi)鏡像加速

國內(nèi)從 DockerHub 拉取鏡像有時會遇到困難珊皿,此時可以配置鏡像加速器。Docker 官方和國內(nèi)很多云服務(wù)商都提供了國內(nèi)加速器服務(wù)粉臊。

{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]}

之后重新啟動服務(wù)(劃重點(diǎn)促王,很多資料都沒有這一步,當(dāng)我們新增了daemon.json文件后必須重載docker才能生效):

[root@localhost ~]#   systemctl daemon-reload
[root@localhost ~]#   systemctl restart docker

檢查加速器是否生效:

[root@localhost ~]# docker info

docker info返回內(nèi)容包含下面信息阅畴,則代表鏡像庫設(shè)置成功:
Registry Mirrors:
    https://docker.mirrors.ustc.edu.cn/
   https://registry.docker-cn.com/

運(yùn)行第一個容器 hello-world

第一次執(zhí)行docker run hello-world會先從本地找鏡像迅耘。如果不存在,則會去鏡像中心拉到本地執(zhí)行纽哥。

[root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

其他的鏡像可以在鏡像中心找:https://hub.docker.com/

建立docker用戶組

默認(rèn)情況下春塌,docker 命令會使用 Unix socket 與 Docker 引擎通訊只壳。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket暑塑。出于安全考慮,一般 Linux 系統(tǒng)上不會直接使用 root 用戶惕艳。因此驹愚,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。

授權(quán)后终娃,當(dāng)前用戶不需要每次進(jìn)行執(zhí)行docker命令時,都加上sudo余佛。不操作也沒不影響運(yùn)行窍荧。

如果你當(dāng)前的用戶就是docker組,則不必操作下面2郊楣、3等操作了瓤荔。
1、[docker@localhost ~]$ groups $USER
docker : docker
[docker@localhost ~]$ 

2今瀑、[root@localhost ~]#  groupadd docker    --docker為新建組名(新建組名必須是docker)
3点把、[root@localhost ~]#  gpasswd -a hadoop docker --將當(dāng)前用戶hadoop加入到docker用戶組里面。用戶名根據(jù)你當(dāng)前的用戶進(jìn)行進(jìn)行替換哥童。

4褒翰、設(shè)置-注銷系統(tǒng)或重啟系統(tǒng)使第二步生效,重新登錄系統(tǒng)后影暴,新開命令行窗口即可;
5、[root@localhost ~]#  systemctl docker start
6伦吠、[hadoop@localhost ~] docker run hello-world

參考材料:

作者:陳集福
鏈接:http://www.reibang.com/p/6bed6e37eb1c

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毛仪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腺逛,更是在濱河造成了極大的恐慌衡怀,老刑警劉巖安疗,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荐类,死亡現(xiàn)場離奇詭異茁帽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吊输,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門季蚂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脂信,“玉大人,你說我怎么就攤上這事疯搅。” “怎么了幔欧?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵丽声,是天一觀的道長。 經(jīng)常有香客問我浴井,道長霉撵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任撕氧,我火速辦了婚禮喇完,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己府怯,他們只是感情好跨新,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布域帐。 她就那樣靜靜地躺著,像睡著了一般肖揣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上龙优,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天彤断,我揣著相機(jī)與錄音,去河邊找鬼平道。 笑死供炼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的袋哼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼诽嘉,長吁一口氣:“原來是場噩夢啊……” “哼含懊!你這毒婦竟也來了衅胀?” 一聲冷哼從身側(cè)響起酥筝,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掸掏,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體募闲,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愿待,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年仍侥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片患蹂。...
    茶點(diǎn)故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡传于,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沼溜,到底是詐尸還是另有隱情,我是刑警寧澤盛末,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布悄但,位于F島的核電站,受9級特大地震影響檐嚣,放射性物質(zhì)發(fā)生泄漏啰扛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一鞍帝、第九天 我趴在偏房一處隱蔽的房頂上張望煞茫。 院中可真熱鬧帕涌,春花似錦、人聲如沸亲澡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽癞己。三九已至瑞凑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間籽御,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工铃将, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哑梳,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓悯仙,卻偏偏與公主長得像吠卷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子货岭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評論 2 348