前言:
之前公司都是使用centos7环境在跑应用,由于centos7停止维护的时间越来越近了(2024年6月30日停止更新),所以将所有服务迁移到ubuntu上,大多都和centos7区别不大,只是一些命令区别,和一些小习惯不太适应。
检查卸载老版本docker
ubuntu下自带了docker的库,不需要添加新的源。
但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。
注:docker的旧版本不一定被称为docker,http://docker.io 或 docker-engine也有可能,所以我们卸载的命令为:
sudo apt-get remove docker docker-engine docker.io containerd runc
安装步骤
- 1.更新软件包
在终端中执行以下命令来更新Ubuntu软件包列表和已安装软件的版本:
sudo apt update
sudo apt upgrade
- 2.安装docker依赖
Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 3.添加Docker官方GPG密钥(这里给出阿里和官方两个gpg,用一个就好,国内推荐使用阿里)
执行以下命令来添加Docker官方的GPG密钥(官方):
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
执行以下命令来添加Docker官方的GPG密钥(阿里):
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 4.添加Docker软件源(同样给出两个,官方源和阿里源。官方慢得出奇。)
将 Docker APT 软件源添加到你的系统(官方):
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
将 Docker APT 软件源添加到你的系统(阿里):
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 5.安装docker
01.想要安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
02.想要安装指定版本,首先列出 Docker 软件源中所有可用的版本:
sudo apt update
apt list -a docker-ce
可用的 Docker 版本将会在第二列显示。在写作这篇文章的时候,在阿里 Docker 最新的 Docker 版本(docker-ce/jammy,jammy,now 5:24.0.7-1~ubuntu.22.04~jammy amd64):
Listing... Done
docker-ce/jammy,jammy,now 5:24.0.7-1~ubuntu.22.04~jammy amd64 [installed]
docker-ce/jammy,jammy 5:24.0.6-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:24.0.5-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:24.0.4-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:24.0.3-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:24.0.2-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:24.0.1-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:24.0.0-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.6-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.5-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.4-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.3-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.2-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.1-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:23.0.0-1~ubuntu.22.04~jammy amd64
docker-ce/jammy,jammy 5:20.10.24~3-0~ubuntu-jammy amd6
通过在软件包名后面添加版本=
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
sudo systemctl status docker
输出将会类似下面这样:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-21 14:47:34 UTC; 42s ago
...
当一个新的 Docker 发布时,你可以使用标准的sudo apt update && sudo apt upgrade流程来升级 Docker 软件包。
如果你想阻止 Docker 自动更新,锁住它的版本:
sudo apt-mark hold docker-ce
以非 Root 用户身份执行 Docker
默认情况下,只有 root 或者 有 sudo 权限的用户可以执行 Docker 命令。
想要以非 root 用户执行 Docker 命令,你需要将你的用户添加到 Docker 用户组,该用户组在 Docker CE 软件包安装过程中被创建。想要这么做,输入:
sudo usermod -aG docker $USER
$USER是一个环境变量,代表当前用户名。
登出,并且重新登录,以便用户组会员信息刷新。
评论区