linux|CentOS下安装docker的两种方式

1.安装环境,查看CentOS的版本,在CentOS7安装docker要求系统为64位,且系统内核版本为3.10以上
分别使用指令查看CentOS的版本及系统位数还有内核版本

cat /etc/redhat-releaseuname -r

linux|CentOS下安装docker的两种方式
文章图片

安装docker
一、使用yum安装 1.查看是否已经使用yum安装过docker
linux|CentOS下安装docker的两种方式
文章图片

若有,卸载旧版本(...省略号为显示的文件名)
yum -y remove …

卸载后保留/var/lib/docker的内容(镜像、容器、存储卷和网络等)
故需指令删除干净
rm -rf /var/lib/docker

2.前提步骤执行后,开始正式安装
yum -y install docker

执行后再次查看docker安装列表
linux|CentOS下安装docker的两种方式
文章图片

3.启动docker
systemctl start docker

4.查看docker服务状态
systemctl status docker

linux|CentOS下安装docker的两种方式
文章图片

查看docker的版本, 发现有服务端和客户端两个引擎
docker version

linux|CentOS下安装docker的两种方式
文章图片

tips:可以设置开机启动docker(个人暂未设置,后续需要再设置)
systemctl enable docker.service

二、离线安装卸载docker方式 1.准备离线安装包
安装包官方地址:https://download.docker.com/linux/static/stable/x86_64/
可以下载到本地,通过ftp等工具上传到服务器上,或者在服务器上使用wget命令下载,若没有安装wget可以使用yum安装,将安装压缩文件保存至自定义的目录下(个人便于记忆整理放在gangye/softwarePackage/dockerPackageFile)
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz

2.准备安装卸载脚本文件以及docker.service文件
2.1准备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 --selinux-enabled=false --insecure-registry=127.0.0.1 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

2.2准备安装脚本文件installDocker.sh
#!/bin/shecho '解压tar包...'tar -xvf $1echo '将docker目录移到/usr/bin目录下...'cp docker/* /usr/bin/echo '将docker.service 移到/etc/systemd/system/ 目录...'cp docker.service /etc/systemd/system/echo '添加文件权限...'chmod +x /etc/systemd/system/docker.serviceecho '重新加载配置文件...'systemctl daemon-reloadecho '启动docker...'systemctl start dockerecho '设置开机自启...'systemctl enable docker.serviceecho 'docker安装成功...'docker -v

2.3准备卸载脚本文件uninstallDocker.sh
#!/bin/shecho '删除docker.service...'rm -f /etc/systemd/system/docker.serviceecho '删除docker文件...'rm -rf /usr/bin/docker*echo '重新加载配置文件'systemctl daemon-reloadecho '卸载成功...'

准备文件工作完毕,此时文件路径下有这些文件
linux|CentOS下安装docker的两种方式
文章图片

编写完后赋予脚本执行权限,然后执行脚本即可
安装:
linux|CentOS下安装docker的两种方式
文章图片

卸载:
linux|CentOS下安装docker的两种方式
文章图片

注:
1.此处的--insecure-registry=127.0.0.1(此处改成你私服ip)设置是针对有搭建了自己私服Harbor时允许docker进行不安全的访问,否则访问将会被拒绝。
linux|CentOS下安装docker的两种方式
文章图片

2.安装脚本中的重新加载配置文件(每次有修改docker.service文件时都要重新加载下)指令
systemctl daemon-reload???????

3.由于国内外网络问题,可以配置镜像加速地址
跳转到/etc/docker路径下,编写daemon.json文件,使用阿里云的镜像(此处个人使用申请个阿里云账号,不同账户的阿里云加速路径地址不一致)
{ "registry-mirrors": ["https://lnfy1vx5.mirror.aliyuncs.com"] }

linux|CentOS下安装docker的两种方式
文章图片

tips:离线模式docker的安装卸载参考这两篇文章
https://www.jb51.net/article/167103.htm
https://www.cnblogs.com/kingsonfu/p/11576797.html
注:在实际使用Docker的过程中,会发现,当容器之间存在依赖关系的时候,会出现启动先后顺序的问题,还有多个容器同时启动,需要打多条命了,显得非常繁琐。使用DockerCompose,可以做到一键启动多个容器。DockerCompose是一个用来定义和运行的复杂应用的Docker工具,使用Compose,可以在一个文件中,定义多容器应用,然后使用一条命令来启动应用,完成一切准备工作
docker-compose安装步骤(本机未安装)
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

【linux|CentOS下安装docker的两种方式】

    推荐阅读