Docker笔记

  • 根据镜像运行一个容器

    docker run -it ubuntu:16.04 /bin/bash

  • 列出镜像

    • docker images
  • 进入docker容器

    • docker attach
    • docker exec -it goofy_almeida /bin/bash
  • 退出容器

    • exit
    • Ctrl + D
  • 列出最近的容器

    • docker ps -n 3
  • 过滤容器

    • docker ps --filter “name=nostalgic_stallman”
  • AI框架运行代码

    • 进入spark-client容器

      kubectl exec -it -n ondp $(kubectl get pods -n ondp | grep spark-client | awk '{print $1}') bash
      
    • python3 main/service/timeseries/start.py --jsonType=“single” --jsonName=“timeseries” --algRunType=“offline”

    • export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.5/dist-packages

    • pip 添加镜像源 https://blog.csdn.net/C_chuxin/article/details/84248909

    • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

    • pip install -i http://pypi.douban.com/simple/ matplotlib

    • pip install -i http://mirrors.aliyun.com/pypi/simple/ matplotlib

    • numpy
      joblib
      statsmodels
      
      
    • [global]
       
      index-url = https://pypi.tuna.tsinghua.edu.cn/simple
       
      [install]
       
      trusted-host=mirrors.aliyun.com
      
      
  • 保存容器成为一个新的镜像

    • docker commit docker-nodered my-nodered:custom
      # 参数解析
      # [docker-nodered] 操作的容器名称/容器ID
      # [my-nodered:custom] 镜像名称,格式REPOSITORY:TAG(仓库:标签)
      
    • INFO:结合docker exec命令使用,进入容器后修改文件、安装程序等操作后,保存成新新镜像;后面用新镜像创建的容器就会有先前操作产生的内容。

  • 使用镜像创建一个容器

    • docker run -d -p 1888:1880 -v /local/workdir:/contianer/workdir --name docker-nodered nodered/node-red-docker npm start -- --userDir /data
      # 参数解析
      # [-d] 后台运行,如果不加-d,容器的输出会直接显示
      # [-p 主机端口:容器端口] 映射端口,容器端口和容器服务相关,这里镜像的nodered服务用了1880端口,映射主机的1888,这样访问主机IP:1888就可以访问容器内的nodered服务了
      # [-v /local/workdir:/contianer/workdir] 映射文件夹,将主机的/local/workdir目录映射到容器内的/contianer/workdir目录,容器内访问/contianer/workdir就可以访问主机/local/workdir的资源了
      # [--name docker-nodered] 设置容器名称为docker-nodered,不指定会随机生成
      # [nodered/node-red-docker] 镜像名称
      # [npm start -- --userDir /data] 启动命令,位于镜像名称后面,是设置容器启动后执行的命令。这里的例子实际上是镜像中已经预设好的命令,目的是运行nodered。
      

    在这里插入图片描述

ubuntu下安装、启动cron
安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l


crontab的使用
基本格式
user command
分 时 日 月 周 用户 命令
举例说明
1、每分钟执行一次
* * * * * user command

2、每隔2小时执行一次
* */2 * * * user command (/表示频率)

3、每天8:30分执行一次
30 8 * * * user command

4、每小时的30和50分各执行一次
30,50 * * * * user command(,表示并列)

5、每个月的3号到6号的8:30执行一次
30 8 3-6 * * user command (-表示范围)

6、每个星期一的8:30执行一次
30 8 * * 1 user command (周的范围为0-7,0和7代表周日)

安装直接
$ pip install python-crontab
下面在脚本上就可以方便的设置计划任务了
from crontab import CronTab

# 创建当前用户的crontab,当然也可以创建其他用户的,但得有足够权限

my_user_cron = CronTab(user=True)

# 创建任务

job = my_user_cron.new(command='/usr/bin/python3.5 /home/edgar/auto.py')

# 设置任务执行周期,每两分钟执行一次

job.setall('*/2 * * * *')           (/表示频率)

# 当然还支持其他更人性化的设置方式,简单列举一些

job.minute.during(5,50).every(5)

job.hour.every(4)

job.day.on(4, 5, 6)

job.dow.on('SUN')

job.dow.on('SUN', 'FRI')

job.month.during('APR', 'NOV')

job.setall(time(10, 2))

job.setall(date(2000, 4, 2))

job.setall(datetime(2000, 4, 2, 10, 2))

# 同时可以给任务设置comment,这样就可以根据comment查询,很方便

job.set_comment("time log job")

# 根据comment查询,当时返回值是一个生成器对象,不能直接根据返回值判断任务是否#存在,如果只是判断任务是否存在,可直接遍历my_user_cron.crons

iter = my_user_cron.find_comment('time log job')

# 同时还支持根据command和执行周期查找,基本类似,不再列举

# 任务的disable和enable, 默认enable

job.enable(False)

job.enable()

# 最后将crontab写入配置文件

my_user_cron.write()

crontab -l  查看是否创建成功
crontab -r 删除任务

* * * * * echo "`date` \n " >>/userdata/aitask/a.txt
python3 /userdata/aitask/ResourceScheduler/scheduler.py
*/1 * * * * /usr/local/bin/python /userdata/aitask/ResourceScheduler/scheduler.py>>/userdata/aitask/tmp.txt

在Linux系统中,使用crontab执行脚本,由于crontab没有环境变量,它是找不到使用的命令的,需要使用命令的全路径,才可使用命令
在这里插入图片描述
Docker内修改时区

root@2a33fc02c099:/# date
Wed Mar  6 13:12:44 UTC 2019
root@2a33fc02c099:/# export TZ=Asia/Shanghai
root@2a33fc02c099:/# date
Wed Mar  6 13:13:08 Asia 2019
root@2a33fc02c099:/# echo "${TZ}" > /etc/timezone
root@2a33fc02c099:/# ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime
root@2a33fc02c099:/# apt update
......
......
root@2a33fc02c099:/# apt install -y tzdata
......
......
root@2a33fc02c099:/# date
Wed Mar  6 21:15:52 CST 2019
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值