手把手教你构建 Garnet Docker 镜像

发布于:2024-05-05 ⋅ 阅读:(38) ⋅ 点赞:(0)

没有看过裸机部署的建议先看看

手把手教你安装 Garnet

准备服务器

首先,建议使用一台环境比较干净的设备进行构建,避免出现玄学问题

这里以雨云服务器的 1 元试用机为例,并且完整演示 Docker 的安装,所以不预装任何 APP,系统使用 Ubuntu 22.04

image 1714827574

购买时不要点击立即付款,点击右边的试用即可 1 元试用 1 天

image 1714827384

在购买好试用机后,直接使用 SSH 软件连接,即可,首先我们需要安装 Docker

安装 Docker

首先要添加 Docker 存储库


# Add Docker's official GPG key:

sudo apt-get update

sudo apt-get install ca-certificates curl

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

# Add the repository to Apt sources:

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

sudo apt-get update

安装最新版的 Docker CE


sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

遇到类似 Do you want to continue? [Y/n] 的提示全部输入y然后回车,遇到让你选择、确认的地方全部默认选择OK直接回车即可完成安装

构建镜像

首先你需要把 Garnet 的源码下载下来并且进入源码目录


git clone https://github.com/microsoft/garnet.git

cd garnet

你可以编辑 DockerFile 来更改某些默认设置,例如端口,内存限制等

image 1714883132

确认无误后就可以开始构建镜像了,源码目录下有多个 Dockerfile,默认使用的是没有任何后缀的,如果使用 Dockerfile.ubuntu 构建,那么构建出的镜像就是基于 Ubuntu 环境的,具体可以自行查看,本教程以默认的 Dockerfile 为例

image 1714891949


docker build .

如果你要使用其他的 Dockerfile,可以像这样:


docker build ./Dockerfile.ubuntu

60bc5b321f289a12c1cae91e5221a885 1714883254

构建完成后再看过程应该是这样的:

image 1714882300

构建完成后我们看看目前已有的 Docker 镜像,可以看到 SIZE 是 206MB,比 Redis 的镜像大一些,但是这个镜像没有任何 tag 和 repository,所以我们还需要给它打一个标签,复制下这个镜像的 IMAGE ID,这里是

c5fbf70036b4

image 1714883327


docker tag c5fbf70036b4 garnet

现在可以看到,tag 是 latest,如果想指定版本,可以在执行 tag 命令时在 garnet 后加一个冒号和版本,例如


docker tag c5fbf70036b4 garnet:1.0.0

image 1714883533

手把手教你构建 Garnet Docker 镜像 19

之后我们就可以运行这个容器了,根据 DockerFile中对于 ENTRYPOINT 的定义,这个容器默认会跑在和 Redis 相同的 6379 端口上,为了避免与已经部署的 Redis 容器的端口冲突,这里使用 Docker Compose 来部署容器,并且将容器内的 6379 端口映射出来


version: '3'

networks:

monitor:

driver: bridge

services:

garnet:

image: garnet

container_name: garnet

hostname: garnet

restart: always

# 可以直接在启动的命令行里传参,也可基于配置文件传参

command: --memory 4g --auth Password --password 123456 --port 6379

ports:

- "6379:6379"

networks:

- monitor

连接一下并且添加一个 key,成功

image 1714892617