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 ...
随机推荐
- 转:从框架看PHP的五种境界及各自的薪资待遇(仅限于二三线城市,一线除外)
在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文纯粹个人的看法.你可以认为我无知也好,或者装逼也好,请不要试着在任何情况下,随便 ...
- TASK 的使用
http://www.tuicool.com/articles/IveiQbQ
- java读取网页图片路径并下载到本地
java读取网页图片路径并下载到本地 最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: packa ...
- 2018.07.26NOIP模拟 魔法数字(数位dp)
魔法数字 题目背景 ASDFZ-NOIP2016模拟 题目描述 在数论领域中,人们研究的基础莫过于数字的整除关系.一般情况下,我们说整除总在两个数字间进行,例如 a | b(a能整除b)表示 b 除以 ...
- k8s容器挂载配置文件
1.新建ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: test-conf namespace: default labels: na ...
- 根据数据库的表生成项目,项目变为hibernate项目(实际开发中常用)
1. 选择模式为Myeclipse Database Explorer perpective 2. (1)右键建立mysql模板,选择默认的mysql模板 (2)drive name (任意这里取m ...
- 3) Maven 目录结构
进入maven根目录 cmd 命令 tree E:. │ LICENSE.txt │ NOTICE.txt │ README.txt │ ├─bin │ m2.conf │ mvn │ mvn.bat ...
- *C语言的小技巧
计算数组长度 ,,,,}; int Length=sizeof(a)/sizeof(int); 交换a和b的值,不借用辅助变量 a=a+b; b=a-b; a=a-b; 将0-9的字符转化为整数 '; ...
- Android中的Service 与 Thread 的区别[转]
很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来解释一下. 1). Thread:Thre ...
- opencpu
前端通过它调用后端的R语言,对R函数进行一个封装. 网址:https://github.com/jeroenooms/opencpu.js 使用的是opencpu-0.5.js,对它进行了修改. 1. ...