Skip to main content

Docker

kratos-layout Dockerfile is provided by default, and multiple stages build is recommended to get the smallest size of container images.

Dockerfile#

FROM golang:1.15 AS builder
COPY . /srcWORKDIR /src
RUN GOPROXY=https://goproxy.cn make build
FROM debian:stable-slim
RUN apt-get update && apt-get install -y --no-install-recommends \        ca-certificates  \        netbase \        && rm -rf /var/lib/apt/lists/ \        && apt-get autoremove -y && apt-get autoclean -y
COPY --from=builder /src/bin /app
WORKDIR /app
EXPOSE 8000EXPOSE 9000VOLUME /data/conf
CMD ["./server", "-conf", "/data/conf"]

Build Image#

docker build -t <your-docker-image-name> .

Run Container#

docker run --rm -p 8000:8000 -p 9000:9000 -v </path/to/your/configs>:/data/conf <your-docker-image-name>