duanmao1319 2016-09-28 17:13
浏览 116
已采纳

Docker运行时的Docker Golang onbuild自定义操作

I have a fairly easy Dockerfile for a Go app:

FROM golang:onbuild
EXPOSE 5000 5001

Now when I run it (not when building the image!) I would like to change a value in a html file which gets statically served, possibly using sed to use an environment variable previously specified with -e to docker run. How can I do that?

  • 写回答

2条回答 默认 最新

  • drvfqr5609 2016-09-28 18:47
    关注

    You can try something like this:

    FROM golang:onbuild
    COPY ./docker-entrypoint.sh /
    
    EXPOSE 5000 5001
    ENTRYPOINT ["/docker-entrypoint.sh"]
    

    Note: you need to copy entry point file with your sed script somewhere into container (done on line 2)

    and docker-entrypoint.sh with your sed script

    # execute sed only **if variable exists**
    sed -ri "s/<title>.*/<title>$ENVIRONMENT_VARIABLE</title>/" /path_to_html_file/index.html
    

    - simple example of replacement line with new title (passed in run as env. variable) in index.html file

    Note: just keep in mind to run sed only if environment variable was served as @STLMikey shows.

    and run docker container with $ENVIRONMENT_VARIABLE

    eg:

    docker run -d -t -i -e ENVIRONMENT_VARIABLE='New website title' --name=container_name IMAGE_NAME 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)