1 在线安装Docker
1.1 yum配置加速
vi /usr/bin/yum-config-manager
配置为python2
(1)首先备份一下原先的yum源,避免出错无法恢复
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
(2)然后修改base.reop源
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(3)安装epel.repo源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
(4)刷新缓存
yum clean all
yum makecache
1.2 在线安装Docker
一、Centos安装Docker
(1-1)yum update更新
(1-2)yum install -y yum-utils device-mapper-persistent-data lvm2
其中yum-utils提供yum-config-manager功能
其中device-mapper-persistent-data lvm2是devicemapper驱动依赖的
(1-3)设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
国内访问不到docker官方镜像的缘故,
通过阿里源进行设置
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(1-4)安装Docker
(1-4-1)安装最新docker-ce
yum install -y docker-ce
【报错docker-ce conflicts with 2:docker-1.13.1-108.git4ef4b30.el7.centos.x86_64】
【原因:centos中已经预装了docker-ce】
【查看已装版本:yum list | grep docker】
【解决方式:yum -y remove docker】
【解决方式:yum -y remove docker-client】
【解决方式:yum -y remove docker-common】
yum install -y docker-ce
(1-4-2)安装指定版本
生产系统中,可能需要安装指定版本的docker,而不是最新版本。
执行如下命令,即可列出可用的docker版本
yum list docker-ce --showduplicates | sort -r
其中sort -r 命令表示对结果由高到低排序。
结果:第一列是软件包名称,
第二列是版本字符串,
第三列是仓库名称,表示软件包存储的位置。
(1-5)查看Docker版本,验证是否成功
sudo docker -v
【Docker version 19.03.6, build 369ce74a3c】
Docker已安装但尚未启动。
二、启动守护进程
service docker start
docker -v
【Docker version 17.12.0-ce,build c97c6d6】
docker version
三、开机自启动
systemctl enable docker.service
2 离线安装Docker
2.1 离线安装包安装
2.1.1 安装
(1)解压
tar -xvf docker-18.06.1-ce.tgz
(2)将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp docker/* /usr/bin/
(3)将docker注册为service
vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
(4)启动
#添加文件权限并启动docker
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload#重载unit配置文件
systemctl start docker#启动Docker
systemctl enable docker.service#设置开机自启
(5)验证
systemctl status docker #查看Docker状态
docker -v #查看Docker版本
docker version
安装完成后,通过docker下载镜像的路径都在/var/lib/docker中。
2.1.2 卸载
(1)删除服务
systemctl disable docker#取消开机自启
rm -rf /etc/systemd/system/docker.service#取消注册文件
(2)删除命令
rm -rf /usr/bin/containerd
rm -rf /usr/bin/containerd-shim
rm -rf /usr/bin/ctr
rm -rf /usr/bin/runc
rm -rf /usr/bin/docker*
(3)删除配置
rm -rf /etc/docker/
(4)删除镜像/容器
rm -rf /var/lib/docker
2.2 离线yum安装
2.2.1 安装
(1)设置yum源
#yum install -y yum-utils device-mapper-persistent-data lvm2
其中yum-utils提供yum-config-manager功能,
其中device-mapper-persistent-data lvm2是devicemapper驱动依赖的
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(2)下载安装包
#yum install --downloadonly --downloaddir=/root -y docker-ce
(3)安装
#yum -y install *.rpm
(4)启动
#systemctl enable docker
#systemctl start docker
#docker -v
#docker version
2.2.2 卸载
(1)查询安装过的包
yum list installed | grep docker
输出显示
docker-ce.x86_64
docker-ce-cli.x86_64
(2)删除安装的软件包
yum -y remove docker-ce
yum -y remove docker-ce-cli
(3)删除镜像/容器等
rm -rf /var/lib/docker