在Ubuntu24.04上安装及配置git和Docker

1. 更新系统

在开始安装之前,建议先更新系统软件包,以确保所有安装都能顺利进行:

sudo apt update && sudo apt upgrade -y

2. 安装 Git

Git 是一个分布式版本控制系统,以下是 Git 的安装步骤:

sudo apt install git -y

安装完成后,你可以检查 Git 的版本:

git --version

如果你希望对 Git 进行一些基础配置,可以执行以下命令设置用户名和电子邮件:

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

3. 安装 Docker

Docker 是一个非常流行的容器化平台,用于创建和管理容器。以下是安装 Docker 的步骤:

3.1 安装依赖包

首先安装 Docker 所需的依赖包:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

3.2 添加 Docker GPG 公钥

使用以下命令添加 Docker 的 GPG 公钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3.3 添加 Docker 软件源

添加 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

3.4 更新软件包缓存并安装 Docker

更新软件包列表,并安装 Docker:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

3.5 启动并启用 Docker

启动 Docker,并设置为开机自启:

sudo systemctl start docker
sudo systemctl enable docker

3.6 验证 Docker 安装

你可以使用以下命令来验证 Docker 是否安装成功:

sudo docker --version

或者运行一个简单的容器来测试:

sudo docker run hello-world

4. 为当前用户配置 Docker 组

为了避免每次运行 Docker 命令时都需要使用 sudo,你可以将当前用户添加到 docker 组中:

sudo usermod -aG docker $USER

完成后,请登出并重新登录,或者执行以下命令让组更改立即生效:

newgrp docker

5. 安装 Docker Compose(可选)

如果你想使用 Docker Compose 来编排多容器应用程序,可以通过以下步骤进行安装:

5.1 下载 Docker Compose

Docker Compose 允许你通过一个文件(通常是 docker-compose.yml)来定义和管理多容器应用程序。运行以下命令以下载 Docker Compose 的当前稳定版本:v2.29.7 (注意下面这个命令安装的是 2.29.7 版本)

sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,请替换 2.29.7 为要使用的 Compose 版本。
此状态表示正在下载中….

5.2 为 Docker Compose 设置可执行权限

sudo chmod +x /usr/local/bin/docker-compose

5.3 为Docker Compose创建超链接

通过创建一个指向 /usr/bin/docker-compose 可执行文件的符号链接,确保你可以从任何位置方便地执行 docker-compose 命令

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

5.4 验证 Docker Compose 安装

docker-compose --version

现状:我以root用户登录

命令解释

命令:

sudo usermod -aG docker $USER

这是用于将当前用户加入到docker组的命令,逐一解释如下:

  1. sudo:表示以超级用户(管理员)权限运行后续命令。它的目的是为了确保对系统组的修改有足够的权限。

  2. usermod:这是用于修改用户账户属性的命令,例如添加组、删除组、修改用户信息等。

  3. -aG

    • -a:表示附加(append),即将用户附加到某个组中,而不是替换现有的组。它确保用户加入新的组而不会丢失已经加入的其他组。
    • -G:指定目标组名称,这里是docker
  4. docker:目标组的名称。Docker组的权限允许用户执行与Docker相关的操作而不需要每次都使用sudo

  5. $USER:这是一个环境变量,表示当前登录的用户名。它会动态替换为当前正在运行的用户的用户名。

你的场景:当前为root用户

我提到现在是以root用户登录的。在这种情况下,$USER的值实际上就是root。也就是说,如果我直接运行上面的命令:

sudo usermod -aG docker $USER

它等价于:

sudo usermod -aG docker root

这样实际上是把root用户加入到了docker组中。然而,root用户已经拥有所有权限,包括运行Docker容器的权限,所以对于root用户来说,这样做并没有实际意义。

正确的操作建议

如果你希望**普通用户(非root用户)**也可以运行Docker命令(例如不使用sudo),那么你需要将那个普通用户加入到docker组中。

假设你的普通用户名是username,可以这样运行命令:

sudo usermod -aG docker username

如果你还没有退出root用户,会需要输入exit命令,或者注销当前会话,重新以username用户登录系统。然后,普通用户就可以运行Docker命令而不需要每次输入sudo

为什么需要这样做

默认情况下,Docker守护进程(dockerd)需要高权限来进行操作,比如管理容器、镜像等。如果你希望某个普通用户能够直接使用Docker,而不使用sudo命令,就需要将这个用户加入docker组中。

总结一下:

  • 作为root用户,你已经有了所有权限,因此不需要加入docker组。
  • 普通用户则需要被加入docker组,以便使用Docker时不需要每次都使用sudo

如果以后你是以普通用户身份进行操作,这样的配置就非常有用了。

Ubuntu 上安装 Docker Compose 的完整指南如下:


1. 更新系统和安装 Docker

Docker Compose 依赖 Docker。如果你还没有安装 Docker,请先执行以下步骤:

更新软件包管理器

sudo apt update
sudo apt upgrade -y

安装 Docker

运行以下命令安装 Docker:

sudo apt install -y docker.io

启动并启用 Docker 服务

sudo systemctl start docker
sudo systemctl enable docker

检查 Docker 是否安装成功

运行以下命令,确认 Docker 正常工作:

docker --version

2. 安装 Docker Compose

目前可以通过 Docker Compose 官方二进制文件apt 包管理器 安装。

方法 1:使用官方推荐的二进制文件

  1. 下载 Docker Compose 最新稳定版本:

    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
  2. 为二进制文件赋予可执行权限:

    sudo chmod +x /usr/local/bin/docker-compose
    
  3. 检查是否安装成功:

    docker-compose --version
    

方法 2:使用 apt 包管理器安装

Docker Compose 也可以通过包管理器安装,但版本可能不是最新的。

  1. 安装 docker-compose 包:

    sudo apt update
    sudo apt install -y docker-compose
    
  2. 检查安装是否成功:

    docker-compose --version
    

3. 配置非 root 用户使用 Docker

默认情况下,Docker 需要 root 权限。如果你希望普通用户也能使用 Docker,请将用户加入 Docker 组:

sudo usermod -aG docker $USER

执行完上述命令后,重新登录或运行以下命令以生效:

newgrp docker

测试 Docker 是否可用:

docker ps

4. 测试 Docker Compose 是否工作

为了确认 Docker Compose 安装是否成功,可以创建一个简单的项目。

  1. 创建项目目录并进入:

    mkdir myproject && cd myproject
    
  2. 创建 docker-compose.yml 文件:

    nano docker-compose.yml
    
  3. 添加以下内容(示例:运行一个 Nginx 容器):

    version: '3.9'
    services:
      web:
        image: nginx
        ports:
          - "8080:80"
    
  4. 启动服务:

    docker-compose up -d
    
  5. 访问 http://localhost:8080,你应该会看到 Nginx 的欢迎页面。


5. 升级 Docker Compose

如果你需要升级到最新版本,只需重新下载官方二进制文件并覆盖旧版本:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

6. 卸载 Docker Compose

如果需要卸载 Docker Compose,可以运行以下命令:

sudo rm /usr/local/bin/docker-compose

如果通过 apt 安装的,可以用以下命令卸载:

sudo apt remove docker-compose

方法2:Ubuntu从PPA安装最新git版本(推荐)

如果官方仓库的Git版本较旧,可以使用PPA安装最新版本。

  1. 添加PPA源
    sudo add-apt-repository ppa:git-core/ppa
    
  2. 更新包列表
    sudo apt update
    
  3. 安装最新版本的Git
    sudo apt install git
    
  4. 验证安装
    git --version