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 ...
随机推荐
- js深拷贝、浅拷贝
浅拷贝: 只针对当前对象的属性进行拷贝,若当前对象的属性是引用类型时,这个不考虑,不进行拷贝.若属性是引用类型,拷贝后引用的是地址,如果进行更改,会影响拷贝的原对象属性. 深拷贝:针对当前对象的数据的 ...
- HHvm建站环境搭建方法:Nginx,Mariadb,hhvm及lnmp/lamp安装部署
HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升.HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行 ...
- BZOJ1699: [Usaco2007 Jan]Balanced Lineup排队 - 线段树
description 查询区间最大和最小 题解 线段树 愉悦身心啊 代码 #include<cstring> #include<cstdio> #include<alg ...
- 值得一看!2018年最优秀的9个Android Material Design Apps!
今年4月,谷歌Gmail推出了全新的设计外观,全新的配色方案,更多的空白区域和精致的图标.也带来了Material Design 的一些改变 – Material Theming (材料主题),旨在自 ...
- MySQL的left on 【zt】
MySQL的left on [zt] (2008-11-03 17:27:30) 转载▼ 标签: it 分类: 学习笔记 MySQL多表连接查询Left Join,Right Join php开源嘛 ...
- 2018.07.04 POJ 1696 Space Ant(凸包卷包裹)
Space Ant Time Limit: 1000MS Memory Limit: 10000K Description The most exciting space discovery occu ...
- hdu-1171(多重背包+二进制优化)
题目链接: 思路:找每次最多装一半的情况,注意数组范围,前几次dp开小了,一直RE. #include<iostream> #include<cstdio> #include& ...
- C++标准模板库(STL)和容器
1.什么是标准模板库(STL)? (1)C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板 ...
- 17)maven-surefire-plugin
http://maven.apache.org/surefire/maven-surefire-plugin/ Goals Overview The Surefire Plugin has only ...
- 201709019工作日记--sleep、wait、notify的使用详解
1. sleep()和wait()的区分 (1)这两个方法来自不同的类分别是,sleep来自Thread类,wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在 ...