FROM 172.16.1.60:5000/airflow-centos7-python3.6-base:latestENV AIRFLOW_HOME /opt/app/airflow-agent
ENV SLUGIFY_USES_TEXT_UNIDECODE yes
ENV GIT_DAGS git@gitlab.youxin.com:devops/airflow-dags.git
ENV MQ_QUEUE test-exchange-docker#add airflow配置文件
ADD /conf/ /opt/app/airflow-agent
#添加git仓库key
ADD /ssh/ /root/.sshRUN pip3 install -r /opt/app/airflow-agent/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple\&& sed -i -e '35s/ask/no/' -e '35s/#//' /etc/ssh/ssh_config \&& chmod +x /opt/app/airflow-agent/run.sh \&& chmod +x /opt/app/airflow-agent/run-worker.sh \&& chmod 400 /root/.ssh/id_rsa \&& sed -i -e '27afrom airflow import configuration as conf' -e '27atry:' -e '27a\ \ \ \ tz = conf.get("core", "default_timezone")' -e '27a\ \ \ \ if tz == "system":' -e '27a\ \ \ \ \ \ \ \ utc = pendulum.local_timezone()' -e '27a\ \ \ \ else:' -e '27a\ \ \ \ \ \ \ \ utc = pendulum.timezone(tz)' -e '27aexcept Exception:' -e '27a\ \ \ \ pass' -e '61c\ \ \ \ d = dt.datetime.now()' /usr/local/lib/python3.6/site-packages/airflow/utils/timezone.py \&& sed -i -e '37afrom airflow import configuration as conf' -e '37atry:' -e '37a\ \ \ \ tz = conf.get("core", "default_timezone")' -e '37a\ \ \ \ if tz == "system":' -e '37a\ \ \ \ \ \ \ \ utc = pendulum.local_timezone()' -e '37a\ \ \ \ else:' -e '37a\ \ \ \ \ \ \ \ utc = pendulum.timezone(tz)' -e '37aexcept Exception:' -e '37a\ \ \ \ pass' /usr/local/lib/python3.6/site-packages/airflow/utils/sqlalchemy.py \&& sed -i -e '31c\ \ \ \ var UTCseconds = x.getTime();' -e '34c\ \ \ \ \ \ \ \ "timeFormat":"H:i:s", ' /usr/local/lib/python3.6/site-packages/airflow/www/templates/admin/master.htmlEXPOSE 8080
EXPOSE 8793CMD ["/opt/app/airflow-agent/run.sh"]

在制作airflow docker镜像时,需要修改airflow源码,使其显示时间为本地时间,通过 sed命令可实现对镜像中文件的修改。

通过指定行号修改:

在指定行号后增加内容:sed -i -e ‘行号a内容’ 文件路径

替换指定行号的内容:sed -i -e ‘行号c内容’ 文件路径

在指定行号前增加内容:sed -i -e ‘行号i内容’ 文件路径

也可以通过匹配内容进行修改:

匹配行前修改:sed -i '/要匹配的内容/a修改后的内容' 文件路径

匹配行后修改:sed -i '/要匹配的内容/i修改后的内容' 文件路径

替换匹配行:sed -i '/要匹配的内容/c替换后的内容' 文件路径

Dockerfile sed命令记录相关推荐

  1. Linux中的高级文本处理命令,cut命令,sed命令,awk命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields    ## 用于有特定分隔字符 [r ...

  2. 正则表达式(grep命令,egrep命令,sed命令,awk命令,sort工具,uniq工具)

    文章目录 正则表达式 基础正则表达式:grep命令 查找行首"^"与行尾字符"$ 查找连续字符范围{} 元字符总结 正则表达式总结 扩展正则表达式 egrep命令 sed ...

  3. awk和sed命令详解

    1.awk命令 awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk命令形式: awk [-F| ...

  4. 详解Shell脚本:sed命令工具 ,awk命令工具

    -----------------------------概述----------------------------------- Linux文本处理工具(以下都是命令和工具,而且只是作为展示,不能 ...

  5. 我觉得是全网最全最好最有用的sed命令详解+示例

    看了太多关于sed的介绍,但我觉得这篇写的最好,只看这一个就够了.本文对原文未做任何修改,只是重新排版.(由于用MD重新排版,可能有错误,如发现请指正或阅读原文.) 感谢原做者rick_grace 原 ...

  6. Docker从入门到放弃-----Dockerfile常用命令解析与实战(使用docker制作一个开箱即用的consul镜像)

    前言 在上一篇文章docker常用命令的实践与解析中,我们提到了可以使用commit命令来在本地创建镜像,但是commit创建的镜像其实是不够正规的,第三方无法了解镜像创建的过程,所以只能作为我们在本 ...

  7. Docker常用的命令记录

    Docker&k8s常用的命令记录 一.Docker命令 1.查看docker版本及信息 2.docker命令帮助 3.镜像仓库命令 4.查看镜像列表 5.删除镜像 6.搜索镜像 7.通过do ...

  8. 【Shell牛客刷题系列】SHELL1 统计文件的行数:学习wc命令和文本三剑客awk、grep、sed命令

    该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...

  9. Bash审计与命令记录

    翻译原出处:www.pointsoftware.ch/de/howto-bash-audit-command-logger/ 翻译并整理了一下,水平有限,多请见谅. 有一个完整的输入命令记录在很多情况 ...

最新文章

  1. Linux 环境变量配置
  2. leetcode 打印_LeetCode第118号问题:杨辉三角
  3. 程序员深夜用Python跑神经网络,只为用中二动作关掉台灯
  4. 【无标题】科大星云诗社动态20201206
  5. 工厂方法模式适用场景
  6. 大数据集群搭建之节点的网络配置过程(二)
  7. c语言本身有输入输出语句正确错误,C语言模拟选择题
  8. IE 6和IE 7对于按钮背景图案的处理 【转载】
  9. nginx 缓存机制
  10. 【Rust日报】2020-05-05:窥探Zoom, Lambda部署, slip等
  11. java博饼_java博饼游戏( 完善中。。。。。。。。。。。)
  12. 建Kangle+EasyPanel对接SWAP IDC虚拟主机自助开通完整教程
  13. 嵌入式成长轨迹33 【嵌入式学习阶段】【ARM环境调试】【在虚拟机下Ubuntu建立NFS网络文件系统】...
  14. 基于vue开发的多条件联动筛选特效(类似京东/淘宝/中国移动)
  15. Linux基础-apt-搜狗输入法
  16. 第7章:OFDM 信道估计与均衡(4)
  17. 区块链实战(一)实现简单的区块与区块链交易
  18. 视频教程的录制与制作的流程,方法,经验
  19. c语言s10 是什么意思啊,【S10】A.FortunatelyB.ComparativelyC.ConsequentlyD.Conversely - 试题答案网问答...
  20. DELPHI bpl使用

热门文章

  1. powerbuilder pbd文件保护方式-pb防止反编译研究
  2. python中fd是什么意思_python中fd()是什么
  3. 百度地图中点击实现标注放大
  4. Linux申请空间(malloc)
  5. 计算机英语学科总结,英语组学科活动总结
  6. ARM单片机堆栈检查溢出
  7. c语言课程设计歇后语,C字头歇后语大全
  8. 百度地图 点击地图类型控件切换普通地图、卫星图、三维图、混合图(卫星图+路网),右下角是缩略图
  9. RemotelyAnywhere v8.0.605 远程控制软件
  10. 虚拟经济全球化10亿美元生态圈乍现