一、准备工作
卸载旧版本Docker
ubuntu自带的docker版本太低,需要先卸载旧的再安装新的
注:docker的旧版本不一定被称为docker,http://docker.io 或 docker-engine也有可能
所以我们卸载的命令为:
sudo apt-get remove docker docker-engine docker.io containerd runc
更新软件包
更新Ubuntu软件包列表和已安装软件的版本
sudo apt update
sudo apt upgrade
二、开始安装
安装docker依赖
Docker在Ubuntu上依赖一些软件包
sudo apt-get install ca-certificates curl gnupg lsb-release
添加Docker官方GPG密钥
执行以下命令来添加Docker官方的GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
添加Docker软件源
执行以下命令来添加Docker的软件源
注:该命令需要使用root权限
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
按回车继续
安装docker
执行以下命令来安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
这里有点需要注意,如果系统盘后期担心磁盘空间问题,这里可以将 Docker 数据目录到指定位置,如下:
移动 Docker 数据目录到指定位置命令:
/data/docker 可以替换成自己想要的目录
sudo mv /var/lib/docker /data/docker
创建一个符号链接指向新的位置:
sudo ln -s /data/docker /var/lib/docker
配置用户组(可选)
默认情况下,只有root用户和docker组的用户才能运行Docker命令。
我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。
sudo usermod -aG docker $USER
注:重新登录才能使更改生效
验证是否成功安装
我们可以通过启动docker来验证我们是否成功安装
sudo docker version
启动docker并查看运行状态
systemctl start docker
systemctl status docker
安装工具
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
重启docker
service docker restart
验证是否成功
因为我们之前没有拉取过hello-world,所以运行命令后会出现本地没有该镜像,并且会自动拉取的操作
sudo docker run hello-world
查看镜像
上面我们拉取了hello-world的镜像,现在我们可以通过命令来查看镜像
sudo docker images
使用中可能存在的问题:
docker拉取镜像失败: error pulling image configuration: download failed after attempts=6: dial XXX
docker拉取镜像失败,报错:error pulling image configuration: download failed after attempts=6: dial tcp 118.193.240.41:443: connect: connection refused
解决方案:
vim /etc/docker/daemon.json
替换为:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn",
"https://mirror.baidubce.com"
]
}
或者 最新源
{
"registry-mirrors": [
"https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
"https://5tqw56kt.mirror.aliyuncs.com",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn/",
"http://mirror.azure.cn/",
"https://hub.rat.dev/",
"https://docker.ckyl.me/",
"https://docker.chenby.cn",
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io"
]
}
然后重启docker服务
重启守护进程 :
sudo systemctl daemon-reload
重启docker服务 :
sudo systemctl restart docker