我有一个相当简单的 Go 应用程序 Dockerfile:
FROM golang:onbuild
EXPOSE 5000 5001
现在当我运行它时(不是在构建图像时!)我想更改静态提供的 html 文件中的值,可能使用 sed
来使用先前指定的环境变量-e
到 docker 运行。我该怎么做?
最佳答案
你可以尝试这样的事情:
FROM golang:onbuild
COPY ./docker-entrypoint.sh /
EXPOSE 5000 5001
ENTRYPOINT ["/docker-entrypoint.sh"]
注意:您需要将带有 sed 脚本的入口点文件复制到容器中(在第 2 行完成)
和 docker-entrypoint.sh 与您的 sed
脚本
# execute sed only **if variable exists**
sed -ri "s/<title>.*/<title>$ENVIRONMENT_VARIABLE</title>/" /path_to_html_file/index.html
- 在 index.html 文件中用新标题替换行的简单示例(作为环境变量在运行中传递)
注意:请记住,只有当环境变量被用作 @STLMikey 显示时才运行 sed。
并使用 $ENVIRONMENT_VARIABLE
运行 docker 容器
例如:
docker run -d -t -i -e ENVIRONMENT_VARIABLE='New website title' --name=container_name IMAGE_NAME
关于go - docker run 上的 Docker Golang onbuild 自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39753803/