Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),社区版免费,企业版收费。 Docker三要素 1、镜像(image)Docker 镜像(image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
2、容器(container)
Docker 利用容器(container)独立运行一个或一组应用。容器是用镜像创建的运行实例,它可以被启动、开始、停止和删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做一个精简版的 linux 环境和运行在其中的应用程序。
3、仓库(repository)
仓库(repository)是集中存放镜像文件的场所,最大的仓库是Docker Hub(https://hub.docker.com/),国内的公开仓库有阿里云、网易云等等。
本文整体内容如下
1、系统环境检查
Docker 支持的 CentOS 版本为:CentOS 6.5(64-bit)及更高的版本。要求系统为64位,并且内核版本为2.6.32-431或者更高版本。可使用 uname 命令查看系统内核版本,如下
![2e52d96b711b6a217a52b9c54ff684fc.png](https://i-blog.csdnimg.cn/blog_migrate/d54b036020233643ab54ec4e8eb672e3.png)
查看系统版本,如下,本文将基于 CentOS7 系统环境进行安装部署演示。
![cbbd4d250b10f5a4d852e32b1943e081.png](https://i-blog.csdnimg.cn/blog_migrate/1ac611fc59c0bb0534d955f5549e7821.png)
2、安装gcc
执行如下命令安装:
yum -y install gcc
yum -y install gcc-c++
安装成功后查看gcc版本
![8a6400a4cfb28bf763d03a35822e5125.png](https://i-blog.csdnimg.cn/blog_migrate/2a435bd6491ad7695add5888994f717c.png)
3、卸载旧版本
如果安装过旧版本 Docker,需先卸载
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
4、安装需要的软件包
yum install -y yum-utils
5、设置stable镜像仓库
官网上写法如下,但是建议不要使用 docker 官方这个仓库地址,因为国内访问不稳定。
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
正确做法是选择阿里云或者网易云仓库地址,如下,选择阿里云仓库地址
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
![64e544bcabce80603a4ed1c4a3fcf5c0.png](https://i-blog.csdnimg.cn/blog_migrate/222ead0d84c5ea600b7bb2367a6abd5f.png)
可以看到已经将阿里云的镜像地址配到了/etc/yum.repos.d/docher-ce.repo中,查看里面的内容,都已经配好了,如下
![75b5a405bff425b5652ff89647ec226d.png](https://i-blog.csdnimg.cn/blog_migrate/6c92b0d2c8a7e712cae8b25731fb85b3.png)
6、更新yum软件包索引
更新yum软件包索引可以使下载安装更快。
yum makecache fast
![0be6f2c2aabf302b9b963b9fffc410ed.png](https://i-blog.csdnimg.cn/blog_migrate/524deca9b2d9e54928cc03440a4f85a0.png)
7、安装Docker
这里我们选择免费的 CE 版本,如果安装最新版本,则无需指定版本号,如下即可
yum install docker-ce docker-ce-cli containerd.io
如果需要安装指定版本,先查出存储库中可用的版本,如下
yum list docker-ce --showduplicates | sort -r
![844954d74f5c33040ebc557820a24ab1.png](https://i-blog.csdnimg.cn/blog_migrate/f597c4f4a5583b04f7548f5ea96914f8.png)
然后通过完整的软件包名称安装特定版本,该软件包名称是(docker-ce)加上版本字符串(第二列)从第一个冒号(:)一直到第一个连字符(-),并用连字符(-)分隔。例如:docker-ce-19.03.9。格式如下
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
启动docker
安装完成后,使用如下命令启动 docker
systemctl start docker
![ad10986de570d06d846ac9464567700a.png](https://i-blog.csdnimg.cn/blog_migrate/e8d9061574b9fe8bfcef5ce31382c82f.png)
安装启动成功后,使用docker version
命令,可查看 docker 版本
![7cefb9db902653321eedab04877abb9f.png](https://i-blog.csdnimg.cn/blog_migrate/884b7947da2a90bb663c76a5b1710633.png)
测试运行 hello-world 镜像
docker run hello-world
![b1ea33b05842e7f24606bbb4f6f8410a.png](https://i-blog.csdnimg.cn/blog_migrate/27f1688db362dc88a15e1eb38fb9eda7.png)
![2a8c2c9a76178e9fa2d72459d47dbbe9.png](https://i-blog.csdnimg.cn/blog_migrate/2b561566de3d162d7a5288ea51d990cf.png)
国内从 DockerHub 拉取镜像有时会凉凉,此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务,例如阿里云:
https://.mirror.aliyuncs.com
1、获取加速地址
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登录后,即可看到你的加速器地址地址,如下
![021f7934de846707ca5e5a761f7095fd.png](https://i-blog.csdnimg.cn/blog_migrate/f3b14808ac5a5dff47b429c6b6d67d8d.png)
2、加速配置
首先创建并编辑 /etc/docker/daemon.json 这个配置文件
vim /etc/docker/daemon.json
然后加入如下内容
{
"registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
其中 registry-mirrors 里的值就是你的加速器地址。
执行如下命令使配置生效
systemctl daemon-reload
最后重启docker
systemctl restart docker
3、检查加速器是否生效
执行 docker info命令
docker info
如果从结果中看到了你的加速器地址,说明配置成功。
Registry Mirrors:
https://*****.mirror.aliyuncs.com
卸载
yum remove docker-ce docker-ce-cli containerd.io
删除安装目录
rm -rf /var/lib/docker
爬坑之路
在国产服务器上(arm架构CPU,国产中标麒麟操作系统)安装 docker 时报错,如下
![999c7f74c8289ac629911f657f78be5e.png](https://i-blog.csdnimg.cn/blog_migrate/569590df7017238398f55e8c0e8b8aba.png)
原因是 container-selinux 版本太低,升级 container-selinux 版本,或者降低 docker 版本即可。
至此,Docker 安装部署完成。
THE END
![bc3d6a5d3f9d646e502be0b3b110bc36.png](https://i-blog.csdnimg.cn/blog_migrate/347236f4c80594e4024c759b2449e0d9.png)
![e45fdc0c9c6bcab73b1884e7e37be2ed.gif](https://i-blog.csdnimg.cn/blog_migrate/36319e5e45cd86abb0d9ee4ad068a5ba.gif)