码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Dockerfile中安装crontab


    在docker中安装crontab的时候,踩了一些坑,在此记录一下。
    先给出完整的dockerfile文件,后面再详细说明~

    FROM python:3.6.8-slim-stretch
    
    WORKDIR /home
    
    RUN apt-get update \
      && apt-get install -y --no-install-recommends cron \
      && rm -rf /var/lib/apt/lists/* \
      && apt-get clean \
      && echo "import datetime\nprint(datetime.datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\"))" >> /home/a.py \
      && echo "*/1 * * * * root python3 /home/a.py >> /home/log.txt" >> /etc/crontab
    
    ENV LC_ALL C.UTF-8
    CMD PYTHONIOENCODING=utf-8 /etc/init.d/cron start && touch log.txt && tail -f log.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    echo输入“#!”

    echo '#!/bin/bash \n /usr/bin/command args' > ./scripts.sh
    
    • 1

    利用echo输入#!的时候,需要将双引号改为单引号,如果是双引号,则会出现如下错误

    bash: !/bin/bash: event not found
    
    • 1

    这是因为echo下面用双引号的话无法解析!字符。
    参考:https://www.javatang.com/archives/2012/10/11/3552844.html

    echo换行

    在命令行输出换行符\n的时候,需要加-e参数进行字符转义输出,但是在Dockerfile中echo不加-e参数可以直接输出转义字符。
    参考:https://www.cnblogs.com/alisleepy/p/15601762.html

    crontab启动

    参考:https://www.cnblogs.com/haoxi/p/8186901.html

    Dockerfile中CMD

    Dockerfile中的CMD后面如果需要运行多条命令,则可以通过&&进行连接。

  • 相关阅读:
    XTU-OJ 1331-密码
    Spring容器启动流程
    微信小程序 java在线租房-房屋租赁系统springboot
    web前端网页设计期末课程大作业:关于城市旅游的HTML网页设计 ——北京
    b=a++和b=++a区别及a=++a、a=a++区别
    天锐绿盾 | 如何防止开发部门源代码泄露、外泄?
    探索QCS6490目标检测AI应用开发(三):模型推理
    Shell 编程基础
    【Spring】Spring事务失效原因及解决方法
    PHP跌出前十,Python依然霸占榜首,C#有望摘得年度编程语言 TIOBE 12 月编程语言排行榜
  • 原文地址:https://blog.csdn.net/tianyunzqs/article/details/125477503
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号