-
根据镜像运行一个容器
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