Ubuntu安装Docker



系统版本

本文以Ubuntu20.05系统为例安装docker,Ubuntu官方下载地址

检查卸载老版本docker

ubuntu下自带了docker的库,不需要添加新的源。
但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。

注:docker的旧版本不一定被称为docker,docker.io 或 docker-engine也有可能,所以我们卸载的命令为:

sudo apt-get remove docker docker-engine docker.io containerd runc

对apt的源设置

安装阿里云证书,并配置阿里云的docker

安装阿里云gpg证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add
在指定目录下新建docker.list文件,添加阿里云镜像源
cd /etc/apt/sources.list.d        
sudo touch docker.list            
sudo chmod 666 docker.list
sudo echo "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" > docker.list

修改完成之后需要执行如下命令才会生效

更新软件源
 sudo apt-get update && sudo apt-get upgrade

使用apt repository 安装

安装依赖包

sudo apt-get install ca-certificates curl gnupg

添加Docker的官方GPG密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

设置docker存储库

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker Engine

安装最新版本的docker和docker compose

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

查看docker 和docker compose 版本

sudo docker version

输出如下所示

Client: Docker Engine - Community
 Version:           23.0.6
 API version:       1.42
 Go version:        go1.19.9
 Git commit:        ef23cbc
 Built:             Fri May  5 21:18:22 2023
 OS/Arch:           linux/amd64
 Context:           default
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
ubuntu@VM-2-6-ubuntu:~$ sudo docker version
Client: Docker Engine - Community
 Version:           23.0.6
 API version:       1.42
 Go version:        go1.19.9
 Git commit:        ef23cbc
 Built:             Fri May  5 21:18:22 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.6
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.9
  Git commit:       9dbdbd4
  Built:            Fri May  5 21:18:22 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

配置开机自启动

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Ubuntu Docker 镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://2iw6r6yn.mirror.aliyuncs.com",
                       "https://docker.registry.cyou",
                       "https://docker-cf.registry.cyou",
                       "https://dockercf.jsdelivr.fyi",
                       "https://docker.jsdelivr.fyi",
                       "https://dockertest.jsdelivr.fui",
                       "https://mirror.aliyuncs.com",
                       "https://dockerproxy.com",
                       "https://mirror.baidubce.com",
                       "https://docker.m.daocloud.io",
                       "https://docker.nju.edu.cn",
                       "https://docker.mirrors.situg.situ.edu.cn",
                       "https://docker.mirrors.ustc.edu.cn",
                       "https://mirror.iscas.ac.cn",
                       "https://docker.rainbond.cc",
                       "https://docker.m.daocloud.io",
                       "https://noohub.ru",
                       "https://huecker.io",
                       "https://dockerhub.timeweb.cloud",
        "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
                       "https://5tqw56kt.mirror.aliyuncs.com",
                       "https://docker.1panel.live",
                       "http://mirrors.ustc.edu.cn",
                       "http://mirror.azure.ch/",
                       "https://hub.rat.dev/",
                       "https://docker.ckyl.me/",
                       "https://docker.chenby.cn",
                       "https://docker.hpcloud.cloud",
                       "https://registry.docker-cn.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

重启 Docker

systemctl restart docker

查看 Docker 状态

sudo systemctl status docker

参考链接:https://docs.docker.com/engine/install/ubuntu/


Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注