银河麒麟V10服务器安装Docker 之离线安装

服务器 0

 如果你的服务器没有网络

我们看第二种方式 离线安装

方案二  离线安装Docker

1.  查看系统版本,确定自己的服务器版本 

[root@localhost /]# cat /etc/kylin-releaseKylin Linux Advanced Server release V10 (Tercel)

2.  查看操作系统  注意我这里是X86_64  有的是aarch64 请记住自己的操作系统我们下面还使用

[root@localhost /]# uname -px86_64   

3.  内核版本  本服务器是4.19

[root@localhost /]# uname -r4.19.90-23.8.v2101.ky10.x86_64

4.  iptables 版本 

[root@localhost /]# iptables --versioniptables 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 /]# getenforceDisabled## 修改 seLinux状态 为Disablesudo 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 EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityTimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=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  设置开机自启动

## 启动dockersudo systemctl start docker  ## 设置开机自启动sudo systemctl enable docker## 查看是否成功docker ps 

看到这里了,希望对大家有帮助!

客官点个赞在走吧!!!

也许您对下面的内容还感兴趣: