之前一直是在Windows上学习,对于linux(centOS)只是在跟着b站上的视频学习一些基础的操作和命令。还有之前一直是在学习前端相关的内容,现在想了解一些后端的技术栈,于是我开始在Ubuntu上学习docker,顺便熟悉一下ubuntu。

环境准备

Ubuntu24.04.1、VM虚拟机

docker的安装及ubuntu命令的熟悉

先在终端中更新apt命令

1
2
sudo apt update 
sudo apt upgrade -y

然后安装依赖

1
sudo apt install  ca-certificates curl gnupg lsb-release -y

以下是这些包的作用:

  • ca-certificates:用于管理和存储SSL/TLS证书。这些证书确保在通过HTTPS进行安全连接时,服务器的身份可以被验证。

  • curl:一个用于从命令行传输数据的工具,支持多种协议,包括HTTP和HTTPS。通常用来下载文件或与API进行交互。

  • gnupg:GNU隐私保护系统,用于加密和签名数据及通信。它提供了生成和管理公钥/私钥对的功能。

  • lsb-release:提供Linux标准基础(LSB)信息的工具,用于识别当前Linux发行版的版本号和相关信息。
    其中-y参数表示对自动确认安装

添加Docker的GPG Key

1
2
3
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
  • 第一行命令创建/etc/apt/keyrings 目录,权限设置为 0755(即目录所有者可以读、写、执行,其他用户只能读和执行)。这个目录用于存放 APT 软件源的 GPG 密钥。
  • 第二行从 Docker 官方网站下载其 GPG 密钥,并保存到 /etc/apt/keyrings/docker.asc 文件中。GPG(GNU Privacy Guard)密钥用于验证从 Docker 仓库下载的软件包的完整性和真实性。
  • 第三行为 GPG 密钥文件赋予所有用户的读取权限。确保系统中的所有用户或进程都能读取这个密钥,以便 APT 在安装 Docker 包时能进行验证。

我在进行第二行命令时出现了报错curl: (35) Recv failure: Connection reset by peer,更新了ca-certificates:sudo apt update && sudo apt install --reinstall ca-certificates之后正常执行

安装密钥后添加到apt存储库中

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

然后就可以正式开始安装了

1
2
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

下列命令将本地用户添加到 docker 组,以便本地用户可以不使用 sudo 运行 docker 命令。

1
2
3
4
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker
$ docker --version

检查docker服务状态

1
$ systemctl status docker

执行docker run hello-world报错,需要更换源

换源

在网上搜索了些可用的镜像源后更改/etc/docker/daemon/json后,sudo systemctl restart docker
后已经能够成功运行