我在Go中创建了一个程序,它接收参数project_id
和private_token
.基本上我就是这样做的:
project_id := flag.String("project", "", "The id of the project")
private_token := flag.String("pat", "", "The personal access token with api and read user permissions")
flag.Parse()
我创建了以下docker图像:
FROM golang:1.16-alpine
WORKDIR /app
COPY . /app
RUN go build
ENV PROJECT=""
ENV PRIVATE_TOKEN=""
ENTRYPOINT "./my-program" "-project" $PROJECT "-pat" $PRIVATE_TOKEN
我通过运行以下命令运行图像:
docker run -e PROJECT=29065042 -e PRIVATE_TOKEN="glpat-1CHf9T8Nz98W8ZzyT7V4" --rm -it my-image-name
如你们所见,我正在传递一个私有令牌,这是一个敏感数据.我想知道这是将敏感数据从docker传递到我的go程序的最佳方法,还是有更好的模式?