操作系统:Rocky Linux 8
参考文档:官方 [mayfly-go] 项目文档 | 本文仅对此文档内容缺失部分进行补充

前置准备
[root@mayfly-go opt]# yum install -y wget unzip
# 下载源文件
# 下载源见官方发布:https://gitee.com/dromara/mayfly-go/releases
[root@mayfly-go opt]# wget https://gitee.com/dromara/mayfly-go/releases/download/v1.10.3/mayfly-go-linux-amd64.zip
[root@mayfly-go opt]# unzip mayfly-go-linux-amd64.zip
以 Docker-Compose 方式部署
docker-compose.yaml 在官方仓库中直接获取。附注:该文件不存在于发布文件中,且官方文档中对该内容的引用链接丢失。
docker-compose.yaml 主要做以下内容:
- 创建 MySQL 数据库容器
- 绑定数据库
- 配置 参数(容器别名、用户名、密码、时区)
- 创建 mayfly-go-server 的自定义镜像
- 获取 ccr.ccs.tencentyun.com/mayfly/mayfly-go:latest 源镜像,并创建自定义镜像。
- 配置 参数(容器别名、端口映射、映射卷、时区、服务项等)
实际业务中,可忽略 MySQL 服务器的创建(注释#)。通过 mayfly-go-web 内直接添加对应服务器信息。
version: "2.1" # 在 RHEL8 中因为依赖兼容性,原设定 3.9 不被适用。
services:
#mysql:
#image: "mysql:8"
#container_name: mayfly-go-mysql
#environment:
# MYSQL_ROOT_PASSWORD: 111049
# MYSQL_DATABASE: mayfly-go
# TZ: Asia/Shanghai
#volumes:
# - ./server/docs/docker-compose/mysql/data/mydir:/mydir
# - ./server/docs/docker-compose/mysql/data/datadir:/var/lib/mysql
#restart: always
server:
image: ccr.ccs.tencentyun.com/mayfly/mayfly-go:latest
build:
context: .
dockerfile: Dockerfile
container_name: mayfly-go-server
ports:
- "18888:18888"
environment:
TZ: Asia/Shanghai
#WAIT_HOSTS: 192.168.88.110:3306
volumes:
- ./server/config.yml:/mayfly/config.yml
#depends_on:
# - mysql
restart: always
如上所示,禁用了 MySQL 的环境配置。实际 MySQL 数据库 与 mayfly-go-server 是独立物理机。对应的
WAIT_HOSTS
被注释depends_on
被注释
避免部署影响。
同时在部署时注意到官方仓库存在 Dockerfile 这一文件。 附注:该文件不存在于发布文件中,且官方文档中未在部署时对该文件提出解答!
ARG BASEIMAGES=m.daocloud.io/docker.io/alpine:3.20.2
FROM ${BASEIMAGES} AS builder
ARG TARGETARCH
ARG MAYFLY_GO_VERSION
ARG MAYFLY_GO_DIR_NAME=mayfly-go-linux-${TARGETARCH}
ARG MAYFLY_GO_URL=https://gitee.com/dromara/mayfly-go/releases/download/${MAYFLY_GO_VERSION}/${MAYFLY_GO_DIR_NAME}.zip
#RUN wget -cO mayfly-go.zip ${MAYFLY_GO_URL} && \
# unzip mayfly-go.zip && \
# mv ${MAYFLY_GO_DIR_NAME}/* /opt
COPY mayfly-go-linux-amd64.zip mayfly-go.zip
RUN unzip mayfly-go.zip && \
mv mayfly-go-linux-amd64/* /opt && \
rm -rf mayfly-go-linux-amd64 mayfly-go.zip
FROM ${BASEIMAGES}
ARG TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY --from=builder /opt/mayfly-go /usr/local/bin/mayfly-go
WORKDIR /mayfly-go
EXPOSE 18888
CMD ["mayfly-go"]
访问 IP地址:18888
(用户名 admin 密码 admin123.)
补充
实际操作过程可能遇到的问题如下: