ubuntu22安装docker

861 阅读2分钟

ubuntu22安装docker

一键安装和分布二选一即可,网络不好建议搞点手工活儿

1. 一键安装

Docker 提供了一个便捷的安装脚本,可以自动完成安装过程。这个脚本适合快速安装,但在生产环境中,官方推荐使用前面描述的步骤来安装 Docker,因为这样可以更精确地控制安装的版本和配置。

如果你选择使用这个便捷的安装方法,请确保你了解这个脚本的内容。你可以通过以下命令下载并运行 Docker 的便捷安装脚本:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

这个脚本会执行以下操作:

  • 检查你的操作系统是否支持 Docker。
  • 添加 Docker 仓库的 GPG 密钥。
  • 添加 Docker 仓库到你的系统中。
  • 安装最新版的 Docker Engine 和 CLI。

安装完成后,你可以按照前面的步骤将用户添加到 docker 组,以便无需 sudo 来运行 Docker 命令:

sudo usermod -aG docker ${USER}

请记住,使用这种自动化脚本的一个潜在缺点是,它会默认安装最新版本的 Docker,这可能会引入不稳定性或与你的系统配置不兼容的情况。因此,对于生产环境,建议手动安装以确保稳定性和安全性。

2. 手工分步骤安装

通过官方Docker仓库安装Docker的步骤:

  1. 更新现有的包列表:

    sudo apt update
    
  2. 安装一些必要的包,这些包允许apt通过HTTPS使用仓库:

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加Docker的官方GPG密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  4. 添加Docker仓库到APT源:

    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. 再次更新软件包列表以包含Docker仓库的包:

    sudo apt update
    
  6. 安装Docker Engine:

    # 默认安装最新稳定版
    sudo apt install docker-ce docker-ce-cli containerd.io
    

    也可以选择版本进行安装

    root@clown-isdjfgspdi:~# apt list -a docker-ce
    正在列表... 完成
    docker-ce/jammy 5:26.0.0-1~ubuntu.22.04~jammy amd64 [可从该版本升级:5:25.0.3-1~ubuntu.22.04~jammy]
    docker-ce/jammy 5:25.0.5-1~ubuntu.22.04~jammy amd64
    docker-ce/jammy 5:25.0.4-1~ubuntu.22.04~jammy amd64
    docker-ce/jammy,now 5:25.0.3-1~ubuntu.22.04~jammy amd64 [已安装,可升级至:5:26.0.0-1~ubuntu.22.04~jammy]
    docker-ce/jammy 5:25.0.2-1~ubuntu.22.04~jammy amd64
    docker-ce/jammy 5:25.0.1-1~ubuntu.22.04~jammy amd64
    docker-ce/jammy 5:25.0.0-1~ubuntu.22.04~jammy amd64
    docker-ce/jammy 5:24.0.9-1~ubuntu.22.04~jammy amd64
    # 现在,你可以选择一个特定的版本来安装。在安装命令中指定版本号,格式如docker-ce=<VERSION_STRING>。例如,如果你要安装版本为 5:19.03.9~3-0~ubuntu-$(lsb_release -cs) 的 Docker Engine,你可以使用以下命令:
    # sudo apt install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
    sudo apt install docker-ce=5:25.0.5-1~ubuntu.22.04~jammy docker-ce-cli=5:25.0.5-1~ubuntu.22.04~jammy containerd.io
    

    当然,1-6步骤也可以改成一个脚本install_docker.sh

    后面的几步推荐自己按需求配置

    #!/bin/bash
    
    # 更新现有的包列表
    sudo apt update
    
    # 安装允许`apt`通过HTTPS使用仓库的必要包
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    
    # 添加Docker的官方GPG密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # 添加Docker仓库到APT源
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # 再次更新软件包列表以包含Docker仓库的包
    sudo apt update
    
    # 安装Docker Engine
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    
    # 验证Docker是否安装成功
    if [ $? -eq 0 ]; then
     echo "Docker has been installed successfully"
    else
     echo "Docker installation failed"
    fi
    
  7. 为了使非root用户能够运行Docker命令,你需要将你的用户添加到docker组中:

    sudo usermod -aG docker ${USER}
    

    在某些系统中。为了使这个改变生效,你可能需要注销然后再登录,或者重启系统。

  8. 验证Docker是否安装成功并且正在运行:

    sudo systemctl status docker
    
  9. (可选)如果你想要Docker在启动时自动运行,可以使用以下命令启用它:

    sudo systemctl enable docker