一、Ubuntu安装Docker

1. 系统要求与准备

注意:本文档以 Ubuntu 22.04 LTS 为例进行说明。

在安装 Docker 之前,请确保你的系统满足以下要求:

  • 操作系统:Ubuntu 20.04 或更高版本(推荐使用 LTS 版本)
  • 内核版本:3.10 或更高(可以通过 uname -r 查看)
  • 用户权限:具有 sudo 权限

2. 更新系统软件包

首先,确保你的系统软件包列表是最新的

sudo apt-get update

3. 安装必要的依赖工具

安装必要的依赖工具,并设置阿里加速源

# 1.安装必要的一些系统工具
sudo apt-get install ca-certificates curl gnupg -y

# 2.信任 Docker 的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 3.写入软件源信息
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4.更新软件源列表
sudo apt-get update

4. 安装Docker

# 4.安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# (扩展)安装指定版本Docker
# 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
# 2.安装指定版本Docker
apt-get -y install docker-ce=[VERSION]

5. 启动docker并设置开机自启

sudo systemctl enable docker
sudo systemctl start docker

6. 验证docker安装成功

docker -v       
# Docker version 28.3.1, build 38b7060

二、Windows安装Docker

官网链接https://www.docker.com

docker官网 官网下载安装包,安装完成后,打开 Docker Desktop,点击启动按钮,等待 Docker 启动完成。

三、二进制安装Docker

下载地址https://download.docker.com/linux/static/stable/

选择您的硬件平台,然后下载.tgz与要安装的Docker Engine相关的文件。

# 1.解压docker文件
tar -zxvf docker-28.3.1.tgz

# 2.将docker目录下所有文件移动到/usr/bin目录下
mv docker/* /usr/bin/

# 3.创建 containerd.service 文件
cat >/etc/systemd/system/containerd.service <<EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=1048576
TasksMax=infinity
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target
EOF

# 4.创建 docker.socket 文件
cat > /etc/systemd/system/docker.socket <<EOF
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root

[Install]
WantedBy=sockets.target
EOF

# 5.创建 docker.service 文件
cat > /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP \$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
EOF

# 6.启动docker并设置开机自启
systemctl daemon-reload
systemctl enable --now containerd.service
systemctl enable --now docker.socket
systemctl enable --now docker.service

四、一键脚本安装Docker

curl -s https://cnb.cool/dadong.cnb/cloud/lfs/-/git/raw/main/docker/install-docker.sh | bash

五、Docker镜像加速

镜像加速器可以加速 Docker 镜像的下载,从而提高镜像的拉取速度。 找到Docker 的配置文件,通常在 /etc/docker/daemon.json 中,如果没有该文件,则创建一个。

# 1.创建docker目录
sudo mkdir -p /etc/docker

# 2.写入加速器地址
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
EOF

# 3.重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker