我之前这部分文章跟在京东服务器上部署 halo 服务器的内容部分是放在一起的,因为后续一直在用国内的服务器搭建各类的服务,包括公司服务器也是经常会用到上面的命令行,于是重新整理,单开一篇专门介绍的文章

详情可以查看 Docker和Docker-compose的另外几篇文章的介绍

安装 docker 和 docker-compose

安装 Docker Compose 并不一定要先安装 Docker,但通常情况下,Docker Compose 是用来管理和部署 Docker 容器应用的工具,所以推荐在使用 Docker Compose 之前已经安装了 Docker。

Docker Compose 基于 Docker 构建,它简化了在本地或生产环境中管理多个相关服务(如数据库、Web 服务器等)的方式,通过一个 YAML 文件定义和运行这些服务。如果你计划使用 Docker Compose 创建和管理容器化应用,那么最好先确保 Docker 已经在系统上安装并且运行正常。

更新系统并安装依赖包

1
2
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

Responsive Image

image-20240729001843767

环境更新

1
2
3
4
5
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

添加 Docker 的 GPG 密钥到 trusted. gpg. d 目录

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

(这里直接添加的话我无法成功, 网络超时, 所有换了个阿里云的源)

1
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/docker-archive-keyring.gpg > /dev/null

输入后出现问题

1
2
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo: unable to resolve host lavm-fvpnklwaxf: Name or service not known

这个错误信息表明,sudo 命令在尝试解析主机名时遇到了问题,无法识别或解析主机名 lavm-fvpnklwaxf。这通常是由于主机名配置不正确或在 /etc/hosts 文件中没有正确映射导致的。

解决方法

这个错误信息表明,sudo 命令在尝试解析主机名时遇到了问题,无法识别或解析主机名 lavm-fvpnklwaxf。这通常是由于主机名配置不正确或在 /etc/hosts 文件中没有正确映射导致的。

  1. 检查主机名配置

    首先,检查系统当前的主机名设置。运行以下命令查看主机名:

    1
    
    hostname
    

    如果返回的主机名是 lavm-fvpnklwaxf,那么问题可能出在 /etc/hosts 文件中。

  2. 编辑 /etc/hosts 文件

    打开并编辑 /etc/hosts 文件,将主机名与 127.0.1.1 映射在一起。你可以使用以下命令来编辑:

    1
    
    sudo nano /etc/hosts
    

    确保文件中包含以下内容:

    1
    2
    
    127.0.0.1   localhost
    127.0.1.1   lavm-fvpnklwaxf
    

    如果你的主机名是不同的(不是 lavm-fvpnklwaxf),那么将 lavm-fvpnklwaxf 替换为实际的主机名。

  3. 保存并退出

    保存文件并退出编辑器。使用 Ctrl + X,然后按 Y 确认保存。

  4. 重启系统(可选)

    在大多数情况下,编辑 /etc/hosts 文件后不需要重启系统,问题就会解决。如果问题仍然存在,可以尝试重启系统:

    1
    
    sudo reboot
    

完成上述步骤后,再次运行最初的命令,看看问题是否解决。如果仍然遇到问题,可以进一步检查网络配置或考虑使用 sudo 命令的备用方法。

添加 Docker 仓库

1
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新包列表并安装 Docker

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

Responsive Image

image-20240729002026250
其实这里我有点没有搞明白这个逻辑, 京东云自己的文档里面说了 CentOS 的花使用 yarm 会自动换源, 可以比较快地下载, 但是不支持 ubuntu, 直接那个地址下 docker 就会报错, 我还换了个阿里源 docker, 问题是实际过程中 (上面这幅图) 前四步全是京东 cloud 里面下载地, 只有最终那一步才是换的阿里云, 不过能成功就好~

配置 Docker 使用阿里云镜像源

1
2
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json

daemon.json 文件中添加以下内容 (里面的网址去阿里云官网搜容器镜像服务 (aliyun.com),找到你对应地那个网址复制)Responsive Image

image-20240729003720212

1
2
3
{
  "registry-mirrors": ["https://docker.1panel.top"]
}
1
2
3
{
  "registry-mirrors": ["https://proxy.1panel.live"," https://docker.1panel.live"]
}

Responsive Image

image-20240729003924487
然后按 ctrl + x 退出, yes 保存, 回车保存

重启 Docker 服务

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

安装 Docker Compose

这里我耗费了很长时间 正常流程, 如下

更新软件包列表

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

1
sudo apt update

安装 Docker

如果你还没有安装 Docker,可以使用以下命令安装:

1
sudo apt install docker.io

启动并设置 Docker 在开机时启动:

1
2
sudo systemctl start docker
sudo systemctl enable docker

下载 Docker Compose

使用以下命令下载最新版本的 Docker Compose。你可以在 GitHub Releases页面找到最新的版本号,并替换 v2.10.2 为最新的版本号:

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

在这一步我出现了网络延时问题.Responsive Image

image-20240729004607251
死活下载不了 这里提供两种方法

使用 xftp 上传

使用

1
uname -m

确定服务器架构,选择对应的软件版本

现在自己的电脑下好, 再使用 xftp 上传,并将上传文件名改为 docker-compose, 注意路径Responsive Image

image-20240729004741493

使用 ghproxy 代理加速

本文完成时,这个代理可用 https://mirror.ghproxy.com/ ,只需在后面加上需要下载的 github 链接

1
curl -SL https://mirror.ghproxy.com/https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

这种方式下载我试了一下,要 10min 分钟左右,我中间还中断了一下,重新输入,它会继续下载Responsive Image

image.png

赋予执行权限

下载完成后,需要给文件赋予可执行权限:

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

验证安装

检查 Docker Compose 是否安装成功,查看版本号:

1
docker-compose --version