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

猜你喜欢

转载自www.cnblogs.com/jec1999/p/9577857.html