MySql教程

利用python3.6+mysql5.6+redis,搭建HttprunnerManager镜像

本文主要是介绍利用python3.6+mysql5.6+redis,搭建HttprunnerManager镜像,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
生成的镜像地址:docker pull registry.cn-hangzhou.aliyuncs.com/hw_wei/hrunmgr:1.0   为啥搭建这个镜像? 1、对原来开源平台的HttprunnerManager 的测试套件执行顺序不一致问题做了修改; 2、测试套件异步执行时候,需要装RabbitMQ,感觉比较麻烦。公司用的是redis,就替换成redis了; 3、把HttprunnerManager结合了实际的项目,让开发配合,做了接口测试用例上效率提升; 4、把数据结构也直接装到了mysql5.6里面,省去了创建和同步数据库; 4、单独装各种环境,踩了很多坑。正好在学习dockerfile,花了几天捣鼓一下。   一、在源码的目录上创建Dockefile 文件,基础镜像是之前创建好的py_mysql_redis
# 基础镜像 python3.6-mysql5.6-redis
FROM py_mysql_redis

# 描述
MAINTAINER HttpRunnerManager

# 安装依赖, -i指定豆瓣仓库
# 安装库 dwebsocket 报错(无法解决放弃):UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in posit
RUN pip install -r /apps/HttpRunnerManager/requirements.txt -i https://pypi.douban.com/simple \
    && pip uninstall -y tornado \
    && pip install tornado==5.1.1 -i https://pypi.douban.com/simple

# 暴露端口, 跟HttpRunnerManager端口一样
EXPOSE 8080 5555

# 启动命令
# 1 启动容器后, 进入容器bash手动启动 start.sh -- 直接 docker run -t 添加-t参数即可
#CMD ["/bin/sh", "-c", "while true; do sleep 100; done"] # 让进程一直跑, 否则容器会exit
# 2 自动启动
ENTRYPOINT ["/apps/HttpRunnerManager/start.sh"]
# 构建镜像
sudo docker build -t hrunmgr .
# 创建+启动容器
sudo docker run -itd -p 8088:8080 -p 5506:3306 --name hrunmgr hrunmgr
# 进入bash
sudo docker exec -it hrunmgr bash

 

遇到的问题: 数据库端口暴露之后,在容器内部可以访问,但是外部还是无法连接。参考上一篇的解决。 ----------------------------   调试用到: # 启动容器 sudo docker start hrunmgr # 关闭容器 sudo docker stop hrunmgr # 删容器 sudo docker rm hrunmgr # 删镜像 sudo docker rmi hrunmgr  
  其他: 如果已经装有mysql或者redis了,可以按照下面修改成已有的   redis: 换成redis,需改动源码的部分: 一、settings.py 注释掉rabbitmq,加上redis。现默认 是本地
# redis
BROKER_URL = 'redis://127.0.0.1'
  二、start.sh mysql: 一、settings.py 大概117行。

 

 二、start.sh

 

 

这篇关于利用python3.6+mysql5.6+redis,搭建HttprunnerManager镜像的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!