手把手教你构建 Garnet Docker 镜像

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

准备服务器

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

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

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

在购买好试用机后,直接使用 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 来更改某些默认设置,例如端口,内存限制等

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

docker build .

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

docker build ./Dockerfile.ubuntu

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

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

c5fbf70036b4
docker tag c5fbf70036b4 garnet

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

docker tag c5fbf70036b4 garnet:1.0.0

之后我们就可以运行这个容器了,根据 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,成功

© 版权声明
THE END
喜欢就支持一下吧
赞赏
评论 共1条
头像
欢迎您留下宝贵的见解!对于“评论可见”,请合理评论,否则将被系统视为垃圾评论。
提交
头像

昵称

取消
昵称表情代码图片