docker和定时任务
查看linux信息 cat /etc/issue
以id运行容器docker start 1c3339d7f9a8
通过id结束容器 docker kill 1c3339d7f9a8
Ubuntu 安装软件 sudo apt-get install Nginx
1.查看安装的所有软件
dpkg -l
例如:dpkg -l | grep ftp
2.查看软件安装的路径
dpkg -L | grep ftp
也可以用 whereis ftp
3.查看软件版本
aptitude show
例如:aptitude show ftp
docker ps 查看正在运行的容器
docker ps -l 最近运行的一个容器
docker port 7a38a1ad55c6 查看容器的端口信息
docker logs -f 7a38a1ad55c6 查看容器内部的标准输出
docker top determined_swanson 查看容器内部运行的进程
docker stop determined_swanson 停止容器
docker start determined_swanson 启动容器
docker restart django_sui_mock 重启容器(耗时会久些,3-10s钟)
docker rm determined_swanson 删除容器 容器必须是停止状态
docker run -it dockerfiles/django-uwsgi-nginx /bin/bash 交互模式运行容器
docker run -d -p 5000:5000 training/webapp python app.py
docker tag 860c279d2fec runoob/centos:dev 设置镜像标签
docker run -d -P --name runoob training/webapp python app.py 启动容器时为容器命名
-d : 在后台运行
-p:将容器内部使用的网络端口映射到我们使用的主机上。
docker images 列出镜像
docker pull ubuntu:13.10 获取镜像
docker search httpd 查找镜像
更新镜像
docker run -t -i ubuntu:15.10 /bin/bash 将镜像启动
一顿操作之后,比如说安装python,输入 exit命令来退出这个容器。如果报错就用jobs -l 然后用kill -9 PID
docker ps -l 查找出最近操作的一个容器的id
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 提交信息
各个参数说明:
-m:提交的描述信息
-a:指定镜像作者
e218edb10161:容器ID
runoob/ubuntu:v2:指定要创建的目标镜像名
在容器中启动Django
cd 到 /usr/fin
docker run -d -p 6780:8000 --name django_datacheck --add-host='lcuat.ssjlicai.com:180.186.40.196' --add-host='moneymarket.ssjlicai.com:125.89.198.79' -v $PWD:/usr/fin 7294a72832b9 python /usr/fin/DataCheck/manage.py runserver 0.0.0.0:8000
docker run -d -p 6780:8000 --name django_datacheck -v $PWD:/usr/fin 7294a72832b9 python /usr/fin/DataCheck/manage.py runserver 0.0.0.0:8000
183.60.139.66 ---> 125.89.198.79
-d 以后台进程运行
-p 6780:8000:将容器的8000端口映射到主机的6780端口
--name django_datacheck:将容器命名为django_datacheck
-v $PWD:/usr/fin/DataCheck:将主机中当前目录(/usr/fin/DataCheck )挂载到容器的/usr/fin/DataCheck
--add-host:添加host
7294a72832b9 镜像id
python /usr/fin/DataCheck/manage.py runserver 0.0.0.0:8000 启动容器后执行
更改代码:
上传代码
重启容器 docker restart django_datacheck
docker run --name app --add-host='api.embbnux.com:10.98.10.98' -d ubuntu
进入容器
docker exec -it <docker_name> /bin/bash
docker exec -it platform /bin/bash
定时任务配置
1、crontab -e 编辑定时任务文件(vim),
2、00 12 * * * /usr/bin/curl http://10.201.5.156:6780/data_contrast/
3、保持后退出 ,上面的意思是每天12点执行后面命令
4、上面的的操作其实已经可以了,通过查看定时任务的执行情况可知定时任务会很快载入,然后到时间后执行。
查看定时任务的执行
sudo tail -f /var/log/cron
查看用户的定时任务
sudo crontab -u liuyunhai -l
查看定时任务的信息
less /var/spool/mail/liuyunhai
在Linux的shell中输入exit或者logout命令时有时会出现“there are stopped jobs”,这是由于按下了Ctrl+Z之后使程序或者进程被挂起。可以通过命令输入使之激活或者在后台运行。
在shell中输入命令jobs可以查看停止进程列表
输入命令jobs -l显示停止进程的详细列表
可以通过如下命令杀死或者激活停止的进程:
杀死:kill %1(%1是将要被杀死的job的进程号) 使用kill -9 进程号杀死
激活:fg %1(%1是将要被激活的job的进程号)
fg代表foreground(前台),可以唤醒被suspended(挂起)的进程
pycrypto
进入运行中的容器
docker exec -i -t 容器ID或名字 /bin/bash
pip install djangorestframework
pip install -i https://pypi.douban.com/simple/ -r requirements.txt
pip install -i https://pypi.douban.com/simple/ djangorestframework
django-werkzeug-debugger-runserver
pip install django-extensions
pip install django-werkzeug-debugger-runserver
djangorestframework
docker run -d -p 6790:8000 --name django_sui_mock -v $PWD:/usr/fin d3b8ec354b0c python /usr/fin/sui_mock/manage.py runserver 0.0.0.0:8000
docker run -it -v $PWD:/usr/fin 7294a72832b9 /bin/bash
docker commit f43b27a18ab1 sui_mock
基于镜像启动容器 基于容器生成镜像
1、docker run -it -v $PWD:/usr/fin 7294a72832b9 /bin/bash
2、通过python runserver 启动项目 安装缺失的模板直到项目能够启动
3、退出容器,基于当前容器生成新的镜像
docker ps -l 最近运行的一个容器 找到容器id
docker commit f43b27a18ab1 sui_mock 基于f43b27a18ab1容器生成镜像
4、基于新生成的镜像,启动Django服务
docker run -d -p 9527:8000 --name django_sui_mock -v $PWD:/usr/fin d3b8ec354b0c python /usr/fin/sui_mock/manage.py runserver 0.0.0.0:8000
项目代码有更新:
将代码上传到/usr/fin,重启容器 docker restart django_sui_mock
三方依赖有变更
1、进入容器 : docker exec -i -t django_sui_mock /bin/bash 安装三方依赖后退出容器
2、将代码上传到/usr/fin,重启容器 docker restart django_sui_mock
docker和定时任务的更多相关文章
- docker下创建crontab定时任务失败
创建过程 基础镜像采用的centos7.2,需要安装一下crontab,在dockerfile中加以下语句就可以了: # crontab jobs RUN yum -y install crontab ...
- 给debian的docker容器添加crontab定时任务
现在大部分的docke镜像是基于debian # cat /etc/issue Debian GNU/Linux 9 \n \l Docker容器是不支持后台服务的,像systemctl servic ...
- docker(ubuntu)中安装cron运行crontab定时任务
1.安装cron apt-get install cron 设置crontab定时任务 crontab -e */ * * * * /usr/bin/python /python/asch-check ...
- CI Weekly #9 | 揭秘阿里 Docker 化实践之路
2017年悄然而至,对 flow.ci 你有什么新的期待呢?新的一年,flow.ci会越来越强大好用,希望继续得到你的支持与反馈.最近,我们做了如下的「功能优化」与「问题修复」,看看有没有你想要的: ...
- 我使用celery以及docker部署遇到的问题
首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...
- 【转+自己研究】新姿势之Docker Remote API未授权访问漏洞分析和利用
0x00 概述 最近提交了一些关于 docker remote api 未授权访问导致代码泄露.获取服务器root权限的漏洞,造成的影响都比较严重,比如 新姿势之获取果壳全站代码和多台机器root权限 ...
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
1. Mesos简介 1.1 Mesos Apache Mesos 是一个分布式系统的管理软件,对集群的资源进行分配和管理. Mesos主要由以下几部分组成: Master: 管理各Slave节点 S ...
- mysqldump 定时任务 执行后备份的文件为空
#!/bin/bash mysql_host="127.0.0.1" mysql_user="root" mysql_passwd="******** ...
- .NET遇上Docker - Docker集成Cron定时运行.NETCore(ConsoleApp)程序.md
配置项目的Docker支持 对于VS中Docker的配置,依旧重复一些废话. 给项目添加Docker支持,VS2015可以直接使用Docker for VS插件,VS2017在安装时选择容器支持.VS ...
随机推荐
- Spring框架的特点
1. 为什么要学习Spring的框架 * 方便解耦,简化开发 * Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 * AOP编程的支持 * Spring提供面向切面 ...
- 【原创】有关Silverlight中异常“XmalParseEception” 通用解决思路
针对于 此类 XamlParse问题,大部分都是 silverlight/WPF 前段 xmal文件问题,仔细逐行审查 接口解决.
- 阈值分割与XLD轮廓拼接——第4讲
一.阈值分割 阈值分割算子众多: threshold :这是最基本最简单的阈值算子. binary_threshold :它是自动阈值算子,自动选出暗(dark)的区域,或者自动选出亮(light)的 ...
- Mockplus推出真正无限制终身版,做原型就要一辈子!
如今提到原型工具,各位设计师和PM爸爸们一定不会对Mockplus感到陌生吧?事实上,从一开始的默默无闻,到在UXPA大赛上崭露头角,再到被Adobe XD 列为主要竞品,如今,摩客君已经在全球范围内 ...
- java读取配置文件的方法
1. Preferences类 这个主要是设置个人喜好.它的数据一般存在系统目录或是用户目录.还可以操作注册表. 2. Properties类 保存键值对.可以指定路径. 3. commons con ...
- 2018.06.30 BZOJ 3932: [CQOI2015]任务查询系统(主席树)
3932: [CQOI2015]任务查询系统 Time Limit: 20 Sec Memory Limit: 512 MB Description 最近实验室正在为其管理的超级计算机编制一套任务管理 ...
- hfs快速搭建HTTP文件服务器
HFS全称为http file server,他是一个专门实现文件共享的工具,通过WWW服务将要共享的目录或文件发布,从而让需要下载者直接通过IE浏览器访问发布的这个共享站点,然后随意下载共享资源.和 ...
- C++之类和对象的特性
简介:C++并不是一个纯粹的面向对象的语言,而是一种基于过程和面向对象的混合型的语言. 凡是以类对象为基本构成单位的程序称为基于对象的程序,再加上抽象.封装.继承和多态就成为面向对象程序. 1.掌握类 ...
- Java源码更改的方式
1.找到要改的类所在包名地址. 比如标签名的更改: <s:debug></s:debug> (1)ctril+鼠标左键========双击标签,就会弹出标签所在的类的文本 (2 ...
- (并查集 建立关系)食物链 -- POJ-- 1182
链接: http://poj.org/problem?id=1182 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#probl ...