1.安装环境,查看CentOS的版本,在CentOS7安装docker要求系统为64位,且系统内核版本为3.10以上

分别使用指令查看CentOS的版本及系统位数还有内核版本

cat /etc/redhat-release

uname -r

centos部署docker项目 centos运行docker_yum安装

安装docker

一、使用yum安装

1.查看是否已经使用yum安装过docker

centos部署docker项目 centos运行docker_docker_02

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

yum -y remove …

卸载后保留/var/lib/docker的内容(镜像、容器、存储卷和网络等)

故需指令删除干净

rm -rf /var/lib/docker

2.前提步骤执行后,开始正式安装

yum -y install docker

执行后再次查看docker安装列表

centos部署docker项目 centos运行docker_yum安装_03

3.启动docker

systemctl start docker

4.查看docker服务状态

systemctl status docker

centos部署docker项目 centos运行docker_docker_04

查看docker的版本,

docker version

centos部署docker项目 centos运行docker_yum安装_05

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/sh

echo '解压tar包...'

tar -xvf $1

echo '将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.service

echo '重新加载配置文件...'

systemctl daemon-reload

echo '启动docker...'

systemctl start docker

echo '设置开机自启...'

systemctl enable docker.service

echo 'docker安装成功...'

docker -v

2.3准备卸载脚本文件uninstallDocker.sh

#!/bin/sh

echo '删除docker.service...'

rm -f /etc/systemd/system/docker.service

echo '删除docker文件...'

rm -rf /usr/bin/docker*

echo '重新加载配置文件'

systemctl daemon-reload

echo '卸载成功...'

准备文件工作完毕,此时文件路径下有这些文件

centos部署docker项目 centos运行docker_docker_06

编写完后赋予脚本执行权限,然后执行脚本即可

安装:

centos部署docker项目 centos运行docker_yum安装_07

卸载:

centos部署docker项目 centos运行docker_yum安装_08

注:

1.此处的--insecure-registry=127.0.0.1(此处改成你私服ip)设置是针对有搭建了自己私服Harbor时允许docker进行不安全的访问,否则访问将会被拒绝。

centos部署docker项目 centos运行docker_yum安装_09

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

systemctl daemon-reload

3.由于国内外网络问题,可以配置镜像加速地址

跳转到/etc/docker路径下,编写daemon.json文件,使用阿里云的镜像(此处个人使用申请个阿里云账号,不同账户的阿里云加速路径地址不一致)

{ 
    "registry-mirrors": ["https://lnfy1vx5.mirror.aliyuncs.com"] 
}

centos部署docker项目 centos运行docker_加载_10

tips:离线模式docker的安装卸载参考这篇文章

https://www.jb51.net/article/167103.htm

注:在实际使用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