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 ...
随机推荐
- Banner中文字怎么排版才好看?
今天这命题,相信有很多人提出过疑问,一个好的文字排版会给你的作品增添色彩,我们先看看好的作品是怎样的. 看完这些图大家都能感觉出来这是一个好的作品,大家天生就对美和丑有一定的区分. 其实文字排版也好, ...
- tp5在apache下能访问,但放到nginx下报404
index index.php index.html index.htm; if ( -f $request_filename) { break; } if ( !-e $request_filena ...
- Netty 零拷贝(一)Linux 零拷贝
Netty 零拷贝(一)Linux 零拷贝 本文探讨 Linux 中主要的几种零拷贝技术以及零拷贝技术适用的场景. 一.几个重要的概念 1.1 用户空间与内核空间 操作系统的核心是内核,独立于普通的应 ...
- Storm 系列(一)基本概念
Storm 系列(一)基本概念 Apache Storm(http://storm.apache.org/)是由 Twitter 开源的分布式实时计算系统. Storm 可以非常容易并且可靠地处理无限 ...
- 解决JS中missing ( before function parameters的错误
在编写javascript中,常出现在function处提示“missing ( before function parameters”的错误,这是怎么回事? 例如: function String. ...
- sys.argv和getopt.getopt()的用法
1.sys.argv Python中sys.argv是命令行参数从程序外部传值的的一种途径,它是一个列表,列表元素是我们想传进去的的新参数,所以可以用索引sys.argv[]来获得想要的值.因为一个写 ...
- 2018.08.28 洛谷P4360 [CEOI2004]锯木厂选址(斜率优化dp)
传送门 一道斜率优化dp入门题. 是这样的没错... 我们用dis[i]表示i到第三个锯木厂的距离,sum[i]表示前i棵树的总重量,w[i]为第i棵树的重量,于是发现如果令第一个锯木厂地址为i,第二 ...
- hdu-1116(欧拉回路+并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1116 思路:将字符串的头元素和尾元素视为图的x,y节点,然后合并x,y. 如果这个图不连通,则门不能打 ...
- 【科普】Web(瓦片)地图的工作原理
[译者按:在看MapBox Guides文档时,看到这篇 How do web maps work?,这篇文档通俗易懂地阐述了Web地图是如何工作的,其实更偏向讲瓦片地图的工作原理,鉴于之前很多人不了 ...
- mybatis操作数据库
导入jar包 共13包 注意:mysql-connction的版本是5.1.7版低版本可能不行 2.编写配置文件 a. 配置连接数据库的文件 a.1创建数据库 user表 a.2配置文件目录 a.2. ...