docker服务在arm平台上部署安装方法
本教程使用的硬件平台是全志A40I,操作系统采用的是ubuntu18.04,内核是3.10.108(内核很老导致docker兼容性不好)
1. 获取最新版本的 Docker 安装包(安装前运行apt-get update更新软件源)
执行 wget -qO- https://get.docker.com/ | sh 就可以一步安装成功,如果是使用最新docker服务,这个脚本安装方法是最快捷方便的。
2.运行docker version查看docker版本信息
如果出现如上标红信息,可以使用以下命令重启docker服务
- systemctl daemon-reload
- systemctl restart docker.service
再次运行时docker version查看版本命令看到docker守护进程也开启了。
运行sudo docker run hello-world测试环境是否安装成功。
以上方法就是采用的脚本安装方法,但是这个安装方法有个问题,由于docker版本一直在更新导致有些服务会出错,就比如目前最新的docker服务版本是19.03.08版本,在我的硬件平台上面docker0网卡一直有问题无法容器内相互通信,一直也没有找到原因,只好选择回退版本到19.03.0版本(之前一直验证没有问题的版本)。
指定docker版本安装方法
1.更新apt包索引:
$ sudo apt-get update
2.安装以下包以使apt可以通过HTTPS使用存储库(repository):
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
3.添加Docker官方的GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.使用下面的命令来设置stable存储库:
$ sudo add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
红色标注的是平台架构我的是arm平台,如果是PC电脑就是amd64.
5.apt-cache madison docker-ce-cli 查看要安装的客户端版本
6.apt-cache madison docker-ce 查看要安装的服务端版本
7.安装客户端版本19.03.0版本 sudo apt-get install -y docker-ce-cli=5:19.03.0~3-0~ubuntu-bionic
8.安装服务端版本19.03.0版本 sudo apt-get install -y docker-ce=5:19.03.0~3-0~ubuntu-bionic
9.用dpkg -l | grep docker查看docker服务进程表示安装成功
10.用docker version查看版本信息
可能在安装过程中会出现各种问题,不过不要害怕担心根据错误信息在谷歌,必应,百度等上面一般都可以找到原因。比如常见的
1.Failed to start docker.service: Unit docker.service is masked
解决办法:
systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service
2.Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决办法:
/etc/init.d/docker start重启服务
总之安装过程遇到问题用systemctl status docker.service命令来查看服务信息
root@wateras:~# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2020-04-14 02:14:23 UTC; 2min 2s ago
Docs: https://docs.docker.com
Apr 14 02:14:23 wateras systemd[1]: Starting LSB: Create lightweight, portable, self-sufficient containers....
Apr 14 02:14:23 wateras systemd[1]: docker.service: Control process exited, code=exited status=1
Apr 14 02:14:23 wateras systemd[1]: docker.service: Failed with result 'exit-code'.
Apr 14 02:14:23 wateras systemd[1]: Failed to start LSB: Create lightweight, portable, self-sufficient containers.
此内容由EEWORLD论坛网友wateras1原创,如需转载或用于商业用途需征得作者同意并注明出处