[doker]ubuntu18安装doker
ubuntu安装doker很简单,分4个步骤:
Step1:更新资源库并安装apt-transprot-https软件包。
在安装Docker前,
首拉取最新的软件资源库
wangju@wangju-HP-348-G4:~/PycharmProjects/qqmessage$ sudo apt-get update
然后安装对https协议的请求支持包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
遇到Do you want to continue? 输入 y
Step2: 添加源的gpg秘钥。执行如下2个指令:
wangju@wangju-HP-348-G4:~/PycharmProjects/qqmessage$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
wangju@wangju-HP-348-G4:~/PycharmProjects/qqmessage$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
step3:获取当前操作系统代号。执行以下指令,如果是Ubuntu16.04LTS系统代号应该为:xenial,如果是Ubuntu18.04LTS版本则系统代号是:bionic
如果不确定可以执行如下指令:
lsb_release -cs
step4:添加官方软件源并安装Docker。,添加完成后更新本地软件源,执行Docker安装命令。
在执行Docker前我们还需要指定对应的软件源,这里我们直接使用官方的软件源,这里指定的版本要用我们刚才获取的系统代号
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
添加完成后更新本地软件源
sudo apt-get update
执行Docker安装命令
sudo apt-get install -y docker-ce
step5:通过sudo docker version检查版本验证安装是否成功
wangju@wangju-HP-348-G4:~/PycharmProjects/qqmessage$ sudo docker version
[sudo] password for wangju:
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:29:52 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:28:22 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
如果遇到下述问题,说明使用了doker version查看版本,而不是sudo doker version
Got permission denied while trying to connect to the Docker daemon socket at unix..
错误原因:
docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。
解决方法1
使用sudo获取管理员权限,运行docker命令
解决方法2
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令
参照:Docker启动Get Permission Denied
参考文档:
https://jingyan.baidu.com/article/a681b0deb960fd3b184346df.html