CentOS7環(huán)境系列二:Docker安裝和配置

Docker 是一個開源的應(yīng)用容器引擎珍昨,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中渤涌,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化第步。容器是完全使用沙箱機(jī)制脑融,相互之間不會有任何接口喻频。

詳細(xì)介紹就不普及了,下面內(nèi)容來自Docker官網(wǎng)給的CentOS下Docker的安裝指導(dǎo)和自我實(shí)踐肘迎。

目錄索引

前提條件
? — 刪除方法

安裝Docker
? — 方法一:使用存儲庫安裝
? —— 設(shè)置存儲庫
? —— 安裝Docker
? —— 升級Docker的方法
? — 方法二:下載包安裝

Docker配置
? — 讓非Root用戶管理Docker
? — 開機(jī)自動啟動Docker
? — Docker加速器

附:安裝命令純凈版

前提條件

  1. 64位版本的CentOS7(系統(tǒng)安裝看這里
  2. 刪除非官方的Docker包
刪除方法:

Red Hat的操作系統(tǒng)存儲庫包含舊版本的Docker甥温,使用程序包名稱docker而不是docker-engine。如果您安裝了此版本的Docker妓布,請使用以下命令刪除它:

$ sudo yum -y remove docker docker-common container-selinux

您可能還需要刪除docker-selinux與官方docker-engine軟件包沖突的軟件包姻蚓。使用以下命令刪除它:

$ sudo yum -y remove docker-selinux

(命令不會刪除/var/lib/docker中的內(nèi)容,因此使用舊版本的Docker創(chuàng)建的任何圖像匣沼,容器或卷都會保留狰挡。)

本人實(shí)踐:

? 因?yàn)槲沂荂entOS7最小安裝,這些東西都沒有╮(╯_╰)╭释涛!

安裝Docker

可以根據(jù)不同的需求以不同方式安裝Docker加叁,包括:

  • 設(shè)置Docker's repositories并從中安裝,以方便安裝和升級任務(wù)唇撬。這是推薦的方法它匕。
  • 某些用戶下載RPM軟件包并手動安裝并完全手動管理升級。
  • 一些用戶不能使用第三方存儲庫窖认,并且必須依賴于CentOS存儲庫中的Docker版本豫柬。

方法一:使用存儲庫安裝

第一次安裝需要先設(shè)置存儲庫愈污,以后就可以從存儲庫進(jìn)行安裝、更新或降級Docker了轮傍。

設(shè)置存儲庫
  1. 安裝yum-utils,它提供yum-config-manager實(shí)用程序:

    $ sudo yum install -y yum-utils
    
  2. 使用一下命令設(shè)置穩(wěn)定版本的存儲庫:

    $ sudo yum-config-manager \
        --add-repo \
        https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo
    
  3. 可選:啟動測試存儲庫首装。此存儲庫包含在docker.repo上面的文件中创夜,但默認(rèn)情況下禁用。您可以在穩(wěn)定存儲庫旁邊啟用它仙逻。不要在生產(chǎn)系統(tǒng)或非測試工作負(fù)載上使用不穩(wěn)定的存儲庫驰吓。

    警告:如果啟用了穩(wěn)定和不穩(wěn)定的存儲庫,則在yum install or yum update命令中指定版本的安裝或更新將始終安裝盡可能高的版本系奉,這幾乎肯定是不穩(wěn)定的版本檬贰。

    $ sudo yum-config-manager --enable docker-testing
    

    您可以testing通過運(yùn)行yum-config-manager 帶有--disable標(biāo)志的命令來禁用存儲庫。要重新啟用它缺亮,請使用 --enable標(biāo)志翁涤。以下命令禁用存儲testing 庫。

    $ sudo yum-config-manager --disable docker-testing
    
安裝Docker
  1. 更新yum包索引萌踱。

    $ sudo yum makecache fast
    

    如果這是您在添加Docker存儲庫之后第一次刷新包索引葵礼,將提示您接受GPG密鑰,并且將顯示密鑰的指紋并鸵。驗(yàn)證指紋是否匹配58118E89F3A912897C070ADBF76221572C52609D鸳粉,如果匹配 ,請接受密鑰园担。

  2. 安裝最新版本的Docker届谈,或轉(zhuǎn)到下一步安裝特定版本。

    $ sudo yum -y install docker-engine
    

    警告:如果啟用了穩(wěn)定和不穩(wěn)定的存儲庫弯汰,則安裝或更新Docker而不在 yum installor yum upgrade命令中指定版本將始終安裝最高可用版本艰山,這幾乎肯定是不穩(wěn)定版本。

  3. 在生產(chǎn)系統(tǒng)上咏闪,您應(yīng)該安裝特定版本的Docker程剥,而不是總是使用最新版本。列出可用的版本汤踏。此示例使用sort -r命令按版本號對結(jié)果進(jìn)行排序织鲸,從最高到最低,并被截斷溪胶。

    注意:此yum list命令僅顯示二進(jìn)制包搂擦。要顯示源包以及,.x86_64從包名稱中省略哗脖。

    $ yum list docker-engine.x86_64  --showduplicates |sort -r
    
    docker-engine.x86_64  1.13.0-1.el7                               docker-main
    docker-engine.x86_64  1.12.5-1.el7                               docker-main   
    docker-engine.x86_64  1.12.4-1.el7                               docker-main   
    docker-engine.x86_64  1.12.3-1.el7                               docker-main 
    

    列表的內(nèi)容取決于啟用哪些存儲庫瀑踢,并且將特定于您的版本的CentOS(.el7在本示例中由版本上的后綴指示)扳还。選擇要安裝的特定版本。第二列是版本字符串橱夭。第三列是存儲庫名稱氨距,指示軟件包來自哪個存儲庫,其擴(kuò)展名其穩(wěn)定性級別棘劣。要安裝特定版本俏让,請將版本字符串附加到軟件包名稱,并用連字符(-)分隔它們:

    $ sudo yum -y install docker-engine-<VERSION_STRING>
    
  4. 啟動Docker茬暇。

    $ sudo systemctl start docker
    
  5. docker通過運(yùn)行hello-world 映像驗(yàn)證是否已正確安裝首昔。

    $ sudo docker run hello-world
    

    此命令下載測試映像并在容器中運(yùn)行它。當(dāng)容器運(yùn)行時糙俗,它打印一個信息消息并退出勒奇。

Docker已安裝并運(yùn)行。您需要使用sudo運(yùn)行Docker命令巧骚。如果想允許非特權(quán)用戶運(yùn)行Docker命令赊颠,請參見后面的配置部分。

升級Docker的方法

要升級Docker劈彪,首先運(yùn)行sudo yum makecache fast巨税,然后再選擇新版本進(jìn)行安裝。

本人實(shí)踐:

? 設(shè)置穩(wěn)定版本那句命令為了顯示用了”\“換行粉臊,其實(shí)就是一句命令下來的草添,其他執(zhí)行正常安裝成功。

方法二:下載包安裝

如果不能使用Docker的存儲庫來安裝Docker扼仲,可以下載該.rpm版本的 文件并手動安裝远寸。每次要升級Docker時,都需要下載新文件屠凶。

  1. 轉(zhuǎn)到https://yum.dockerproject.org/repo/main/centos/ 并選擇您的CentOS版本的子目錄驰后。下載.rpm要安裝的Docker版本的文件。

  2. 安裝Docker矗愧,將下面的路徑更改為您下載Docker包的路徑灶芝。

    $ sudo yum -y install /path/to/package.rpm
    
  3. 啟動Docker。

    $ sudo systemctl start docker
    
  4. docker通過運(yùn)行hello-world 映像驗(yàn)證是否已正確安裝唉韭。

    $ sudo docker run hello-world
    

同樣夜涕,您需要使用sudo運(yùn)行Docker命令。如果想允許非特權(quán)用戶運(yùn)行Docker命令属愤,請參見后面的配置部分女器。

Docker配置

讓非Root用戶管理Docker

默認(rèn)情況下,其他用戶只能使用sudo來使用root賬號運(yùn)行Docker住诸。如果在使用docker命令時不想使用sudo驾胆,需要創(chuàng)建一個名為docker的用戶組涣澡,并將當(dāng)前用戶添加進(jìn)去。

  1. 創(chuàng)建docker組丧诺。

    $ sudo groupadd docker
    
  2. 將您的用戶添加到docker組入桂。

    $ sudo usermod -aG docker $USER
    
  3. 注銷并重新登錄,以便重新評估您的組成員資格驳阎。

  4. 驗(yàn)證您可以docker沒有命令sudo抗愁。

    $ docker run hello-world
    

開機(jī)自動啟動Docker

開啟:

$ sudo systemctl enable docker

關(guān)閉:

$ sudo systemctl disable docker

Docker加速器

萬惡的那啥,在國內(nèi)連接Docker Hub非常的不穩(wěn)定搞隐,還好有DaoCloud的加速器。注冊用戶登錄后远搪,選擇加速器劣纲。根據(jù)提示就可以將 --registry-mirror 加入到你的 Docker 配置文件 /etc/default/docker 中,方便國內(nèi)用戶使用谁鳍。

附Docker安裝命令純凈版

[xxx@localhost ~]$ su root
Password:
[root@localhost ~]$ yum -y remove docker docker-common container-selinux docker-selinux
[root@localhost ~]$ yum install -y yum-utils
[root@localhost ~]$ yum-config-manager --add-repo https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo
[root@localhost ~]$ yum-config-manager --disable docker-testing
[root@localhost ~]$ yum makecache fast
[root@localhost ~]$ yum -y install docker-engine
[root@localhost ~]$ docker version
[root@localhost ~]$ docker run hello-world
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末癞季,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子倘潜,更是在濱河造成了極大的恐慌绷柒,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涮因,死亡現(xiàn)場離奇詭異废睦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)养泡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門嗜湃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澜掩,你說我怎么就攤上這事购披。” “怎么了肩榕?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵刚陡,是天一觀的道長。 經(jīng)常有香客問我株汉,道長筐乳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任乔妈,我火速辦了婚禮哥童,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘褒翰。我一直安慰自己贮懈,他們只是感情好匀泊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著朵你,像睡著了一般各聘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抡医,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天躲因,我揣著相機(jī)與錄音,去河邊找鬼忌傻。 笑死大脉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的水孩。 我是一名探鬼主播镰矿,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俘种!你這毒婦竟也來了秤标?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤宙刘,失蹤者是張志新(化名)和其女友劉穎苍姜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悬包,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衙猪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了布近。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屈嗤。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吊输,靈堂內(nèi)的尸體忽然破棺而出饶号,到底是詐尸還是另有隱情,我是刑警寧澤季蚂,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布茫船,位于F島的核電站,受9級特大地震影響扭屁,放射性物質(zhì)發(fā)生泄漏算谈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一料滥、第九天 我趴在偏房一處隱蔽的房頂上張望然眼。 院中可真熱鬧,春花似錦葵腹、人聲如沸高每。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鲸匿。三九已至爷怀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間带欢,已是汗流浹背运授。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乔煞,地道東北人吁朦。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像渡贾,于是被迫代替她去往敵國和親逗宜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件剥啤?Google Compute Engi...
    ahohoho閱讀 15,508評論 15 147
  • 以下原文轉(zhuǎn)載于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend閱讀 7,546評論 0 17
  • 師說:青年學(xué)會吃苦防楷,中年學(xué)會堅持牺丙,老年學(xué)會變通,一件事做到極致就是神明复局。侍衛(wèi)長男神:我們選擇了一條康莊大道冲簿,60公...
    畫舒朱丹閱讀 2,149評論 1 13
  • 當(dāng)你擁有的時候我們大多都沒有好好珍惜,所以很多時候我們失去后才珍惜亿昏,因?yàn)楫?dāng)你失去的時候峦剔,你才知道你真心的時候...
    遇見軍艷閱讀 506評論 0 0
  • 本來今天是想寫旅游的思考文〗枪常可是單位有事加班吝沫,突然有感而思,寫下一個臨時思考作為記錄递礼。 今天的題目叫改變思路以后惨险,...
    魔王_Archenemy閱讀 264評論 0 0