docker踩坑记录之一

less than 1 minute read

减少依赖安装次数(缩短build时间)

  1. 把安装以来的命令放在Dockfile前面,
  2. 自己的代码复制等工作放在Dockfile的后面

原理: 因为docker每次build镜像的时候会把每一条命令都生成一个中间层的文件存下来, 下次再build的时候只build有变更的部分。

docker起crontab:

Dockfile:

RUN apt-get install -y cron
RUN echo "*/5 * * * * cd /app && /usr/local/bin/python3.7 manage.py scheduler > cron.log" | crontab

CMD ["./start.sh"]

start.sh

/etc/init.d/cron start
/usr/local/bin/python3.7 xxxxxx

注意: 命令要绝对路径, 直接python3.7 xxxx会有可能执行错误