如果你想脚本安装,跳到第二个安装方案,第一个是自己一步一步安装,也不麻烦
1. 手动安装docker
参考博客:https://www.cnblogs.com/liuxiaoji/p/11014329.html
Linux下离线安装Docker最新版本
一、基础环境
1、操作系统:CentOS 7.3
2、Docker版本:18.06.1 官方下载地址(打不开可能需要梯子)
3、百度云Docker 18.06.1地址:https://pan.baidu.com/s/1YdN9z72QutPkHBfLq06H1A 密码:dvvh
4、官方参考文档:https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries
二、Docker安装
1、下载
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.1-ce.tgz
2、解压
tar -xvf docker-18.06.1-ce.tgz
3、将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp docker/* /usr/bin/
4、将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
5、启动
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重新加载配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
6、验证
systemctl status docker #查看Docker状态
docker -v #查看Docker版本
- 脚本安装docker
单机安装还好,如果有多个服务器安装就很烦,这里写了一个简单的脚本
install.sh
#!/bin/sh
echo "安装docker开始"
tar -zxvf ./docker-18.06.1-ce.tgz
cp docker/* /usr/bin/
echo "[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" >>/etc/systemd/system/docker.service
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重新加载配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
systemctl status docker #查看Docker状态
docker -v #查看Docker版本
如果在运行脚本的过程中报错,比如字符报错,如下
可以使用以下语句查看错误,并消除错误
vim -b XXX.sh
sed -i 's/\r//g' install.sh
参考博客:https://blog.csdn.net/xzm5708796/article/details/88344074
注意:
- 一定要注意脚本里的文件名称,dockers-18-ce.tgz和脚本放在一个文件夹内,后面我也会附上文件,
- 下载后直接上传到服务器,需要chmod +x docker.sh ,不然没有执行权限,只有为绿色的时候才可以执行,如下(下面那个是我jdk的自动安装脚本)
如果安装的时候有啥问题可以联系我
docker-18.06.1-ce.tgz脚本安装包下载