参考博客:Docker教程(2)Linux上安装Docker(非常简单的安装方法)_挖坑埋你-CSDN博客_docker安装教程 linux
Docker的三大核心概念:镜像、容器、仓库
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,
可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。
仓库:类似代码仓库,是Docker集中存放镜像文件的场所。
简单介绍一下在CentOS上安装Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
使用 yum 安装
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
方法一:这样安装出来是1.13.1版本,版本太低,高版本请参考方法二
1、通过 uname -r 命令查看你当前的内核版本
[root@peipei3514 ~]# uname -r
3.10.0-693.el7.x86_64
2、使用 sudo 或 root 权限的用户登入终端。
3、确保yum是最新的
[root@peipei3514 ~]# yum update
4、安装 Docker
[root@peipei3514 ~]# yum -y install docker
5、关闭防火墙
[root@hadoop111 ~]# systemctl disable firewalld
[root@hadoop111 ~]# systemctl stop firewalld
6、关闭强制访问控制安全模块
[root@hadoop111 ~]# vi /etc/selinux/config
修改SELINUX=disabled
重启虚拟机并查看状态
[root@hadoop111 ~]# reboot
[root@hadoop111 ~]# sestatus
显示如下状态即可
SELinux status: disabled
7、启动docker
[root@peipei3514 ~]# systemctl start docker.service
# 启动:systemctl start docker.service
# 停止:systemctl stop docker.service
# 重启:systemctl restart docker.service
8、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
使用docker version命令查看
[root@peipei3514 ~]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: <unknown>
Go version: go1.8.3
Git commit: 774336d/1.13.1
Built: Wed Mar 7 17:06:16 2018
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: <unknown>
Go version: go1.8.3
Git commit: 774336d/1.13.1
Built: Wed Mar 7 17:06:16 2018
OS/Arch: linux/amd64
Experimental: false
9、设置开机自启动
[root@peipei3514 ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
到此为止docker就完全安装好了。
10、开启防火墙
# 开启防火墙服务
systemctl start firewalld.service
# 开启防火墙
systemctl start firewalld
# 通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
systemctl status firewalld
11、设置从阿里云下载镜像
docker下载镜像速度太慢,可以改为阿里云下载。
(1)、访问阿里云镜像加速器 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
需要注册阿里云账号,使用支付宝登录或淘宝登录即可,然后访问镜像加速器页面,会有一个加速器地址:
(2)、设置加速
# 创建存放daemon配置文件的文件夹
[root@bogon backend-docker]# sudo mkdir -p /etc/docker
# 创建daemon.json文件
[root@bogon backend-docker]# sudo tee /etc/docker/daemon.json <<-'EOF'
# 输入内容:
{
"registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}
EOF
# 回车创建成功。
查看一下配置文件:
[root@bogon backend-docker]# vi /etc/docker/daemon.json
# 看到已经设置成功
{
"registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}
(3)使配置生效
[root@bogon backend-docker]# sudo systemctl daemon-reload
[root@bogon backend-docker]# sudo systemctl restart docker
这样就可以从阿里云下载镜像了。速度翻好多倍。
当然还可以使用腾讯云加速器,将镜像仓库地址改为“https://mirror.ccs.tencentyun.com”即可(此加速器地址需在腾讯云云服务器中配置才可生效,请勿通过浏览器直接访问)参考:容器镜像服务 个人版快速入门(旧) - 快速入门 - 文档中心 - 腾讯云。
使用 docker info 指令可以查看镜像仓库的地址。
[root@CentOS7-3 /]# docker info
Containers: 3
Running: 0
Paused: 0
Stopped: 3
Images: 23
Server Version: 1.13.1
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Init Binary: /usr/libexec/docker/docker-init-current
containerd version: (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: e45dd70447fb72ee4e1f6989173aa6c5dd492d87 (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
seccomp
WARNING: You're not using the default seccomp profile
Profile: /etc/docker/seccomp.json
Kernel Version: 3.10.0-1062.12.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 2
Total Memory: 1.777 GiB
Name: CentOS7-3
ID: SXTL:M5QY:RBXU:KDZH:4IKG:RJMF:F3ZC:RBO4:6T3Z:BNFF:M7CW:QEK6
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://********.mirror.aliyuncs.com
Live Restore Enabled: false
Registries: docker.io (secure)
12、如果启动docker时报错如下:
[root@hadoop111 ~]# service docker startRedirecting to /bin/systemctl start docker.serviceJob
for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
注意:这里你可能遇到一个问题,无法启动Docker。大体上有如下两个原因:
第一,firewalld.service没有关闭。
[root@hadoop111 ~]# systemctl disable firewalld
[root@hadoop111 ~]# systemctl stop firewalld
第二,selinux没有关闭。请查看本机并关闭
[root@hadoop111 ~]# vi /etc/selinux/config
修改SELINUX=disabled
重启虚拟机并查看状态
[root@hadoop111 ~]# sestatus
显示如下状态即可
SELinux status: disabled
再次启动Docker(重新执行上边5、6、7 步骤)
如果启动不成功,需要卸载docker重新安装
[root@hadoop111 ~]# yum remove docke
[root@hadoop111 ~]# yum install docker
[root@hadoop111 ~]# service docker start
方法二:安装指定版本号的docker
参考:https://zhuanlan.zhihu.com/p/302949661
1、切换 yum源(此处直接使用 阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
注:如果报错 yum-config-manager: 未找到命令,系统默认没有安装这个命令,这个命令在yum-utils包里,可以通过 yum install -y yum-utils 安装
2、卸载旧版本相关组件
yum remove docker docker-common docker-selinux docker-engine
3、查看仓库中的版本(找个高版本的)
yum list docker-ce
4、安装指定版本(docker-ce-版本号)
yum install docker-ce-20.10.9-3.el7 -y
5、后续就可以参考 “方法一”,启动docker、设置开机自启动、设置阿里云镜像加速器。
三、rpm
docker rpm文件下载地址,太慢,没这样试过。
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/