1 打开终端(或者使用Xhell等远程连接工具)
ctrl+alt+t
2 卸载旧版本Docker
Ubuntu 下自带了Docker 的库,不需要添加新的源。 但是Ubuntu 自带的 Docker 版本太低,需要先卸载旧的再安装新的。
# docker 的旧版本不一定被称为 docker,docker.io 或 docker-engine 也有可能,
sudo apt-get remove docker docker-engine docker.io containerd runc
其实这里可以使用以下命令检查
# docker docker-engine docker.io containerd runc
dpkg -l | grep -E 'docker|docker-engine|docker.io|containerd|runc'
3 使用命令查看内核以及架构详细信息
uname -a
# 打印信息
Linux miraclerice-vm 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
正如上面你看到的那样,我的 Ubuntu 系统内核版本是 6.2.0-39-generic 并且系统架构是 64 位(x86_64 x86_64 x86_64 GNU/Linux)。
4 更新Ubuntu软件包列表和已安装软件的版本
# 分别执行
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
5 安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
6 运行下列命令添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
如果你无法访问官方地址,可以将密钥下载地址替换为下面的地址。
# 清华源
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg
# 阿里云
https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg
7 添加 Docker 官方库(创建一个适合于当前 CPU 架构和系统版本的软件源)
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
同样的,如果你希望能够更快的下载到软件,可以配置软件源来替换官方地址。
# 清华源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 阿里云
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
8 使用命令更新 Ubuntu 源列表
sudo apt update
9 运行下列命令在 Ubuntu 22.04 LTS 服务器中安装最新 Docker CE:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
10 当然你也可以安装其他版本 Docker 。运行下列命令检查可以安装的 Docker 版本
apt-cache madison docker-ce
输出:
docker-ce | 5:24.0.7-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.6-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.5-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.4-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.3-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.2-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.1-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:24.0.0-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.6-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.5-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.4-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.3-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.2-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.1-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:23.0.0-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.24~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.23~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.22~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.21~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.20~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.19~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.18~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.17~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
你可以挑选上面列表中的任何版本进行安装。例如,安装 5:24.0.7-1~ubuntu.22.04~jammy 这个版本,运行:
sudo apt install docker-ce=5:24.0.7-1~ubuntu.22.04~jammy docker-ce-cli=5:24.0.7-1~ubuntu.22.04~jammy containerd.io
11 安装完成后,运行如下命令验证 Docker 服务是否在运行
systemctl status docker
会有类似以下输出:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2024-01-06 16:51:12 CST; 8min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 37398 (dockerd)
Tasks: 10
Memory: 25.2M
CPU: 1.742s
CGroup: /system.slice/docker.service
└─37398 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
1月 06 16:51:09 miraclerice-vm systemd[1]: Starting Docker Application Container Engine...
1月 06 16:51:09 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:09.876405724+08:00" level=info msg="Starting up"
1月 06 16:51:09 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:09.878358692+08:00" level=info msg="detected 127.0.0.53 nameserver, assuming systemd-resolved, so>
1月 06 16:51:09 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:09.996467531+08:00" level=info msg="Loading containers: start."
1月 06 16:51:12 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:12.573775899+08:00" level=info msg="Loading containers: done."
1月 06 16:51:12 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:12.633211324+08:00" level=info msg="Docker daemon" commit=311b9ff graphdriver=overlay2 version=24>
1月 06 16:51:12 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:12.633375196+08:00" level=info msg="Daemon has completed initialization"
1月 06 16:51:12 miraclerice-vm dockerd[37398]: time="2024-01-06T16:51:12.691779992+08:00" level=info msg="API listen on /run/docker.sock"
1月 06 16:51:12 miraclerice-vm systemd[1]: Started Docker Application Container Engine.
这就表示正常启动并运行!!!
-
如果没有运行,运行以下命令运行 Docker 服务:
sudo systemctl start docker
-
使 Docker 服务在每次重启时自动启动:
sudo systemctl enable docker
-
可以使用以下命令查看已安装的 Docker 版本:
sudo docker version
12 测试docker是否运行正常
sudo docker run hello-world
只要输出包含以下内容则正常:
Hello from Docker!
This message shows that your installation appears to be working correctly.
13 在 Ubuntu 中安装 Docker Compose
从这里下载最新 Docker Compose,写该文章时最新版本为:v2.23.3
运行下列命令安装最新稳定的 Docker Compose 文件(修改版本号记得不要省略v):
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
最后,使用下列命令赋予二进制文件可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
运行下列命令检查安装的 Docker Compose 版本:
docker-compose version
使用以上命令从gihub上下载docker-compose太慢了,下载不动,只能换成国内镜像(daocloud.io)来下载。
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/2.23.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
经过测试,下载后报错,建议通过uname -s 和 uname -m命令查看系统架构,然后在docker compose仓库下载对应版本的docker compose,具体操作如下:
# 1.检查系统架构,分别输入
uname -s
# 输出 Linux
uname -m
# 输出 x86_64
# 2. 所以在个人pc下载"docker-compose-linux-x86_64",使用xftp传到服务器(使用自己的远程连接工具即可)
# 3.cd切换到你存放"docker-compose-linux-x86_64"的目录,使用以下命令移动到"/usr/local/bin/",并重命名为docker-compose
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 4.赋予权限
sudo chmod +x /usr/local/bin/docker-compose
# 5.测试是否成功
docker-compose version
# s输出Docker Compose version v2.23.3
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tdcar6xs.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
通过设置 http_proxy、https_proxy,可以让终端走指定的代理。
配置脚本如下,在终端直接执行,只会临时生效:
export http_proxy=http://127.0.0.1:7890
export https_proxy=$http_proxy