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加速器
前提條件
- 64位版本的CentOS7(系統(tǒng)安裝看這里)
- 刪除非官方的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è)置存儲庫
-
安裝
yum-utils
,它提供yum-config-manager
實(shí)用程序:$ sudo yum install -y yum-utils
-
使用一下命令設(shè)置穩(wěn)定版本的存儲庫:
$ sudo yum-config-manager \ --add-repo \ https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo
-
可選:啟動測試存儲庫首装。此存儲庫包含在
docker.repo
上面的文件中创夜,但默認(rèn)情況下禁用。您可以在穩(wěn)定存儲庫旁邊啟用它仙逻。不要在生產(chǎn)系統(tǒng)或非測試工作負(fù)載上使用不穩(wěn)定的存儲庫驰吓。警告:如果啟用了穩(wěn)定和不穩(wěn)定的存儲庫,則在
yum install
oryum 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
-
更新
yum
包索引萌踱。$ sudo yum makecache fast
如果這是您在添加Docker存儲庫之后第一次刷新包索引葵礼,將提示您接受GPG密鑰,并且將顯示密鑰的指紋并鸵。驗(yàn)證指紋是否匹配
58118E89F3A912897C070ADBF76221572C52609D
鸳粉,如果匹配 ,請接受密鑰园担。 -
安裝最新版本的Docker届谈,或轉(zhuǎn)到下一步安裝特定版本。
$ sudo yum -y install docker-engine
警告:如果啟用了穩(wěn)定和不穩(wěn)定的存儲庫弯汰,則安裝或更新Docker而不在
yum install
oryum upgrade
命令中指定版本將始終安裝最高可用版本艰山,這幾乎肯定是不穩(wěn)定版本。 -
在生產(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>
-
啟動Docker茬暇。
$ sudo systemctl start docker
-
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時,都需要下載新文件屠凶。
轉(zhuǎn)到https://yum.dockerproject.org/repo/main/centos/ 并選擇您的CentOS版本的子目錄驰后。下載
.rpm
要安裝的Docker版本的文件。-
安裝Docker矗愧,將下面的路徑更改為您下載Docker包的路徑灶芝。
$ sudo yum -y install /path/to/package.rpm
-
啟動Docker。
$ sudo systemctl start docker
-
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)去。
-
創(chuàng)建
docker
組丧诺。$ sudo groupadd docker
-
將您的用戶添加到
docker
組入桂。$ sudo usermod -aG docker $USER
注銷并重新登錄,以便重新評估您的組成員資格驳阎。
-
驗(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