文章目录

  • 什么是docker
  • Centos8.0 安装docker
  • 1、查看是否已安装docker
  • 2、安装依赖包
  • 3、设置yum源
  • 4、查看仓库中所有docker-ce版本,选择合适的版本安装。
  • 5、安装docker
  • 6、启动docker,配置开机自启
  • 7、验证
  • 8、修改docker默认存储位置


什么是docker

Centos基础环境搭建--安装docker_linux


Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

摘至菜鸟教程,https://www.runoob.com/docker/docker-tutorial.html

举个简单的例子,如果项目新下来10台应用服务器(或者需要做服务器迁移),而这时候你是否会选择重复10次的操作,将每台服务器的基础环境都安装一遍;还是会选择一个已打包好的应用容器,直接“开箱即用”呢?Docker做为一个应用容器引擎,开发者可以将应用或者依赖全部打包到一个可移植的容器中,然后发布到任意一台Linux服务器上。

Centos8.0 安装docker

经测试,centos必须再7.0及以上的版本进行安装。这里使用centos8.0。
可以根据以下命令查看centos版本,以及内核版本。
安装过程使用root用户,如果是非root用户,都需要使用sudo。

[root@iZuf68t6hada0ayijajs45Z ~]# lsb_release -a    //查看CentOS版本
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 8.2.2004 (Core) 
Release:	8.2.2004
Codename:	Core
[root@iZuf68t6hada0ayijajs45Z ~]# uname -r   //系统内核版本,要求系统为64位
4.18.0-193.el8.x86_64
1、查看是否已安装docker
[root@iZuf68t6hada0ayijajs45Z ~]# yum list installed | grep docker

如果已安装,将其卸载

[root@iZuf68t6hada0ayijajs45Z ~]# yum remove docker  docker-common docker-selinux docker-engine
2、安装依赖包
[root@iZuf68t6hada0ayijajs45Z ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

yum-utils 提供了yum-config-manager,而 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2

3、设置yum源

官方地址:

[root@iZuf68t6hada0ayijajs45Z ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

阿里:

[root@iZuf68t6hada0ayijajs45Z ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学:

[root@iZuf68t6hada0ayijajs45Z ~]# yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
4、查看仓库中所有docker-ce版本,选择合适的版本安装。
[root@iZuf68t6hada0ayijajs45Z ~]# yum list docker-ce --showduplicates | sort -r

docker在17.03之后的版本分为CE(社区版)和EE(企业版),我们使用CE版本。

5、安装docker
[root@iZuf68t6hada0ayijajs45Z ~]# yum install docker-ce-17.12.1.ce

这里我选择了17.12.1-ce的版本安装,过程中提示了一个错误:

Last metadata expiration check: 0:01:05 ago on Wed 22 Jul 2020 04:10:27 PM CST.
Error: 
 Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

这是由于未安装containerd.io依赖,或者是containerd.io版本过低。
安装,有点慢:

[root@iZuf68t6hada0ayijajs45Z ~]# dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.3.el7.x86_64.rpm

在重新安装docker,成功。

[root@iZuf68t6hada0ayijajs45Z ~]# yum install docker-ce-17.12.1.ce

再确认是否已经正确安装,版本17.12.1.ce-1.e17.centos已安装

[root@iZuf68t6hada0ayijajs45Z ~]# yum list installed | grep docker
docker-ce.x86_64                     17.12.1.ce-1.el7.centos                 @docker-ce-stable
6、启动docker,配置开机自启
[root@iZuf68t6hada0ayijajs45Z ~]# systemctl start docker
[root@iZuf68t6hada0ayijajs45Z ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
7、验证
[root@iZuf68t6hada0ayijajs45Z ~]# docker version
Client:
 Version:	17.12.1-ce
 API version:	1.35
 Go version:	go1.9.4
 Git commit:	7390fc6
 Built:	Tue Feb 27 22:15:20 2018
 OS/Arch:	linux/amd64

Server:
 Engine:
  Version:	17.12.1-ce
  API version:	1.35 (minimum version 1.12)
  Go version:	go1.9.4
  Git commit:	7390fc6
  Built:	Tue Feb 27 22:17:54 2018
  OS/Arch:	linux/amd64
  Experimental:	false
[root@iZuf68t6hada0ayijajs45Z ~]#
8、修改docker默认存储位置
[root@iZuf68t6hada0ayijajs45Z ~]# vim /usr/lib/systemd/system/docker.service

Centos基础环境搭建--安装docker_centos_02


加上自己的路径。

保存,重启。

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

在查看目录:

[root@iZuf68t6hada0ayijajs45Z ~]# docker info

Centos基础环境搭建--安装docker_centos_03


已修改。

至此,docker的安装就已完成。