Skip to content

Instantly share code, notes, and snippets.

@ilaziness
Last active August 10, 2023 03:51
Show Gist options
  • Select an option

  • Save ilaziness/5affcc1d7e2483fe5d8651e6c35050c9 to your computer and use it in GitHub Desktop.

Select an option

Save ilaziness/5affcc1d7e2483fe5d8651e6c35050c9 to your computer and use it in GitHub Desktop.
构建gorame项目Docker镜像包
# build: docker build -f manifest/docker/Dockerfile -t stm_user_ser:0.1.0 --build-arg PROJECT_NAME=stm_user_ser .
# run: docker run -e SERVICE_ENV=dev -d --name stm_user_ser -p 9010:9010 stm_user_ser
FROM alpine:3.18
ARG USERGROUP=docker-executor \
USERNAME=docker-executor \
PROJECT_NAME=
ENV WORKDIR=/app \
SERVICE_NAME="stm_user_ser" \
SERVICE_ENV=prod \
SERVICE_MODEL=http
# 修改为阿里云的软件仓库源
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装时区数据和兼容层
RUN apk add --no-cache tzdata shadow gcompat
# 设置默认时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN apk del tzdata && rm -rf /var/cache/apk/* && rm -rf /root/.cache && rm -rf /tmp/*
ADD ./bin/linux_amd64/${PROJECT_NAME} $WORKDIR/${PROJECT_NAME}
RUN chmod +x $WORKDIR/${PROJECT_NAME}
# 添加配置文件
ADD ./manifest/config $WORKDIR/config
RUN groupadd --gid 6000 $USERGROUP && useradd -g $USERGROUP --uid 6000 $USERNAME
RUN chown -R $USERNAME:$USERGROUP $WORKDIR
USER $USERNAME:$USERGROUP
###############################################################################
# START
###############################################################################
WORKDIR $WORKDIR
CMD ["sh", "-c", "GF_GCFG_FILE=config.${SERVICE_ENV}.yaml GF_GERROR_BRIEF=true ${WORKDIR}/${SERVICE_NAME} ${SERVICE_MODEL}"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment