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

avatar
作者
猴君
阅读量:0

 如果你的服务器没有网络

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

方案二  离线安装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 

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

客官点个赞在走吧!!!

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!