如果你的服务器没有网络
我们看第二种方式 离线安装
方案二 离线安装Docker
1. 查看系统版本,确定自己的服务器版本
[root@localhost /]# cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel)
2. 查看操作系统 注意我这里是X86_64 有的是aarch64 请记住自己的操作系统我们下面还使用
[root@localhost /]# uname -p x86_64
3. 内核版本 本服务器是4.19
[root@localhost /]# uname -r 4.19.90-23.8.v2101.ky10.x86_64
4. iptables 版本
[root@localhost /]# iptables --version iptables v1.8.1 (legacy)
5. 选择并下载Docker-ce 的二进制包文件 我的系统是X86_64 那我就选择 X86_64的包
官网下载地址: https://download.docker.com/linux/static/stable/
这里有个小坑 选择二进制包的时候,别选择docker-20以上的,要选择docker-19.X,20以上的版本在启动的时候会遇到权限不足的问题,本人亲自在这个坑里面徘徊了 。 我最开始选择的是docker-24.0.2这个版本,root权限启动,在进程执行的时候还是会遇到权限不足问题,在网络上找了文档看,发现大家和我遇到一样的问题,我最后退到docker-19.03.0,不会出现这个问题。
6. 关闭防火墙 && 关闭 selinux
## 关闭防火墙 systemctl stop firewalld ## 查看 seLinux的状态 我修改后是 Disable [root@localhost /]# getenforce Disabled ## 修改 seLinux状态 为Disable sudo vi /etc/selinux/config ## 在打开的文件中找到 SELINUX 行,将其值更改为 disabled, SELINUX=disabled 保存即可
这里是一个踩过的坑,如果没有关闭selinux 启动docker 会出现
Job for docker.service failed because the control process exited with error code.See "systemctl status docker.service"and "journalctl -xe"for details.
打开 journalctl -xe 会出现
7. 解压你下载好的二进制文件包
tar -zxvf docker-19.03.0.tgz
查看解压后的文件权限 解压的文件会在当前目录docker文件夹内,这里面也会有个小问题,我不知道是我自己的服务器的问题还是大家都遇到,我解压后的文件权限是suma 而不是root 很奇怪。
如果不修改权限,直接使用的情况下,在 docker start 的时候会报权限不足问题,我不确定与这个有没有关系。为了严谨,我在这里将文件的权限修改了
[root@localhost docker]# sudo chown -R root:root /home/lianhe/docker [root@localhost docker]# ll 总用量 204568 -rwxr-xr-x 1 root root 34519704 7月 18 2019 containerd -rwxr-xr-x 1 root root 6038112 7月 18 2019 containerd-shim -rwxr-xr-x 1 root root 19491032 7月 18 2019 ctr -rwxr-xr-x 1 root root 65632394 7月 18 2019 docker -rwxr-xr-x 1 root root 71650528 7月 18 2019 dockerd -rwxr-xr-x 1 root root 764144 7月 18 2019 docker-init -rwxr-xr-x 1 root root 2851084 7月 18 2019 docker-proxy -rwxr-xr-x 1 root root 8514432 7月 18 2019 runc
8. 移动解压出来的二进制文件到 /usr/bin 目录中
请使用 \cp -f docker/* /usr/bin/
而不要使用 mv docker/* /usr/bin/
二者的区别 请自己百度
\cp -f docker/* /usr/bin/
9. 启动测试
dockerd
10. 添加 docker 的 systemd
服务脚本至 /usr/lib/systemd/system/
vi /usr/lib/systemd/system/docker.service
脚本参考自 https://github.com/docker/docker-ce
## 将下面的内容复制到刚创建的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 ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
11 为docker.service添加执行权限
chmod +x /usr/lib/systemd/system/docker.service
12 创建 docker组
groupadd docker
13 编辑 daemon.json 配置文件
vi /etc/docker/daemon.json
daemon.json文件内容:
{ "registry-mirrors":[ "https://pee6w651.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ], "data-root":"/data/docker", "log-driver":"json-file", "log-opts":{ "max-size":"200m","max-file":"3" } }
14 重载 systemd
配置文件
systemctl daemon-reload
15 启动docker 设置开机自启动
## 启动docker sudo systemctl start docker ## 设置开机自启动 sudo systemctl enable docker ## 查看是否成功 docker ps
看到这里了,希望对大家有帮助!
客官点个赞在走吧!!!