Sign inSign up

nixue/notgo

By nixue

•Updated 26 days ago

notgo 是一个预配置权限的 Go 运行容器,基于 Alpine 构建。

Image
Languages & frameworks
Developer tools
Operating systems
0

45

nixue/notgo repository overview

⁠notgo(Go)

notgo 是一个预配置权限的 Go 运行容器,基于 Alpine 构建。

Go 编译出来是静态二进制,不需要运行时环境,所以没有版本矩阵。

⁠核心特性
  • 无版本矩阵:Go 二进制自带运行时,不依赖外部环境
  • 基础镜像:Alpine 3.21
  • 非 root 运行:默认创建 UID/GID 1000 的 appuser
  • 中文环境:时区 Asia/Shanghai,语言 zh_CN.UTF-8
  • 预置目录:/app/Bin、/app/Log、/app/Temp,权限 775
  • 数据卷:/app 声明为 VOLUME
  • 端口 8080
  • 参数透传:docker run 时镜像名后面的参数会追加到启动命令之后
⁠快速开始
docker pull nixue/notgo:alpine
docker run -d \
  --name myapp \
  -p 8080:8080 \
  -v /宿主机/应用目录:/app \
  nixue/notgo:alpine

容器自动执行:

/app/NotApp
⁠入口变量
变量默认值说明
APP_BINNotApp要运行的二进制文件名
⁠追加应用参数
docker run -d \
  -e APP_BIN=hkrm-server \
  -v /宿主机/应用目录:/app \
  nixue/notgo:alpine \
  --port 8080
⁠交叉编译提醒

Go 二进制需要用 CGO_ENABLED=0 编译,才能在 Alpine 里跑:

FROM golang:1.23-alpine AS builder
WORKDIR /build
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o NotApp .

FROM nixue/notgo:alpine
COPY --from=builder /build/NotApp /app/NotApp

Tag summary

Content type

Image

Digest

sha256:cacb4636e…

Size

3.9 MB

Last updated

26 days ago

docker pull nixue/notgo:alpine