没有看过裸机部署的建议先看看
[postsbox post_id="19337″]
准备服务器
首先,建议使用一台环境比较干净的设备进行构建,避免出现玄学问题
这里以雨云服务器的 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,成功