[doker]ubuntu18安装doker
阅读原文时间:2022年05月14日阅读:1

ubuntu安装doker很简单,分4个步骤:

Step1:更新资源库并安装apt-transprot-https软件包。

在安装Docker前,

  首拉取最新的软件资源库

wangju@wangju-HP--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--G4:~/PycharmProjects/qqmessage$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

wangju@wangju-HP--G4:~/PycharmProjects/qqmessage$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 -- [SCEA]
9DC8 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) docker@docker.com
sub rsa4096 -- [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--G4:~/PycharmProjects/qqmessage$ sudo docker version
[sudo] password for wangju:
Client: Docker Engine - Community
Version: 19.03.
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov ::
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov ::
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.
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权限才能访问。

  使用sudo获取管理员权限,运行docker命令

  docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

参照:Docker启动Get Permission Denied

参考文档:

https://jingyan.baidu.com/article/a681b0deb960fd3b184346df.html