Ubuntu20安装docker记录

这两天在捣鼓docker,因为这玩意本身就是基于Linux内核搞的,所以先想着在Ubuntu上安装一个试试。。。。

第一步:安装虚拟机,我选的是vmWare15.5(我本地环境是win10),这里不再描述vm的安装步骤了。

第二步:在虚拟机上安装ubuntu,看教程说Docker对Linux的版本有最低要求,于是乎,就找了个比较新的版本Ubuntu20.04

第三步:安装docker

在网上看了很多的教程说明,一顿操作,咋觉得这玩意没那么容易安装啊,于是,各种删了装,装了再删,但其中最多的好像是因为使用了国外的镜像,一直下载不下来或者超时,脑细胞狂烧。。。。

言归正传。。。

     在踩了n个坑之后,在阿里云上发现了docker-ce的安装教程,其上介绍如下:

   这里附上阿里云的对应网址:https://developer.aliyun.com/mirror/docker-ce

Ubuntu 14.04/16.04(使用 apt-get 进行安装)
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

按照这个操作基本顺利,但到最后安装docker-ce的时候报错(阿里的教程上写的是Ubuntu16.04,我的版本是Ubuntu20.04,这个经过实操发现也是适用的):

package docker-ce is not avaliable,but is referred to by another package

然后有人说了:

打开 /etc/apt/sources.list.d/docker.list 中添加下面内容

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

我找了找,我的对应目录下,压根就没有docker.list这个文件,于是乎,在这个sources.list.d这个目录下新建立docker.list文件,然后在文件中增加内容:

deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable

注意:我这里增加的镜像是国内的镜像,并没有使用上面说的docker官方镜像,原因大家都懂。。。

之后,再执行上面阿里教程上的第四步,update ,然后install

再之后就发现成功!!!!surprise!!!

看看到底是不是成功:

运行如下代码:

sudo docker run hello-world

教训:在配置镜像和仓库的时候,发现很多老的资料中地址用的是http,新的应该是https,这点要注意。


追加。。。。。

在另外一台机子上 单独装了Ubuntu后,按照以上方法再次执行,到最后执行hello-world的时候报错

sudo docker run hello-world

docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

修改docker镜像源:

docker默认的源为国外官方源,下载速度较慢,可改为国内,加速

处理办法:

修改或新增 /etc/docker/daemon.json

# vi /etc/docker/daemon.json

{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

然后执行命令:

systemctl restart docker.service


再次执行hello-world,成功!!!


续。。。

发现每次操作docker都要sudo获取权限,太麻烦,所有让docker的用户获得root权限,做如下操作

 sudo groupadd docker
 sudo usermod -aG docker ${USER}
 sudo systemctl restart docker

su root             切换到root用户
su ${USER}          再切换到原来的应用用户以上配置才生效
原创文章 84 获赞 46 访问量 21万+

猜你喜欢

转载自blog.csdn.net/yyj108317/article/details/105789678
今日推荐