美文网首页
dockerfile制作HttprunnerManager镜像并

dockerfile制作HttprunnerManager镜像并

作者: 柠檬C927 | 来源:发表于2022-03-22 15:07 被阅读0次

    HttpRunnerManager是一个自动化测试平台,而搭建个HttpRunnerManager的环境,需要Python、Mysql,RabbitMQ服务,RabbitMQ服务主要用于做异步存储报告用,我们公司用的是redis,所以这里我改为了redis。

    一、创建Dockerfile文件

    1. 在HttpRunnerManager源码文件目录下,vim Dockerfile 新建一个Dockerfile文件,输入如下内容


      QQ图片20220322114350.png
    # 基础镜像 python3.6-mysql-redis
    FROM silverlogic/python3.6
    
    # 描述
    MAINTAINER python3.6-mysql5.6-redis-HttpRunnerManager
    
    # 添加必要秘钥,以便添加apt库 archive.ubuntu.com
    RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
    # 换中国源,其中archive.ubuntu.com用于安装mysql
    RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak \
    && echo "deb http://mirrors.163.com/debian/ stretch main non-free contrib" >> /etc/apt/sources.list \
    && echo "deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib" >>/etc/apt/sources.list \
    && echo "deb-src http://mirrors.163.com/debian/ stretch main non-free contrib" >>/etc/apt/sources.list \
    && echo "deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib" >>/etc/apt/sources.list \
    && echo "deb http://archive.ubuntu.com/ubuntu trusty universe" >>/etc/apt/sources.list \
    && apt-get update
    # 安装mysql5.6
    RUN { \
    echo mysql-server mysql-server/root_password password '123456'; \
    echo mysql-server mysql-server/root_password_again password '123456'; \
    } | debconf-set-selections \
    && apt-get install -y mysql-server-5.6 mysql-client-5.6
    # 装redis
    RUN apt install -y redis-server
    
    # 复制HttpRunnerManager文件
    # 由于add/copy的文件必须使用上下文目录的内容, 因此要先将xxx文件拷贝到当前目录
    # https://www.367783.net/hosting/5025.html
    COPY ./ /apps/HttpRunnerManager/
    
    # 安装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端口一样 8080 & 5555 是HttpRunnerManager端口,3306数据库 6379redis
    EXPOSE 8080 5555 3306 6379
    
    # 启动命令
    # 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"]
    
    

    二、构建镜像

    1. 构建镜像
    # -t  后是镜像名
    docker build -t hrunnerma .
    

    如下图,则表示镜像构建成功:


    截图_选择区域_20220322135523.png
    1. 创建并启动容器
    # -p 暴露端口,宿主机端口:容器端口
    # Runner:创建的容器名称  hrunnerma:镜像名/镜像ID
    sudo docker run -itd -p 8089:8080 -p 2206:3306 --name Runner hrunnerma
    
    1. 进入容器
    # 进入Runner容器内部
    sudo docker exec -it Runner bash
    
    截图_选择区域_20220322140442.png
    1. 在容器内测试Python、mysql、redis是否安装成功
    python
    redis-cli
    mysql -u root -p
    
    截图_选择区域_20220322140920.png
    1. HttprunnerManager的Web端访问

    三、上传阿里云

    1.登录阿里云:https://cr.console.aliyun.com/cn-hangzhou/instance/repositories
    (自行注册登录)

    1. 创建命名空间和仓库
    2. 创建镜像本地仓库


      截图_选择区域_20220322174546.png
    截图_选择区域_20220322170838.png

    4.上传镜像,执行3条命令,阿里云上可以查看到。

    #登录阿里云
    docker login --username=自己的用户名 registry.cn-hangzhou.aliyuncs.com
    #推送
    docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:[镜像版本号]
    docker push registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:[镜像版本号]
    
    截图_选择区域_20220322174341.png

    5.登录阿里云就能看到上传的镜像了。


    截图_选择区域_20220322174756.png

    相关文章

      网友评论

          本文标题:dockerfile制作HttprunnerManager镜像并

          本文链接:https://www.haomeiwen.com/subject/rcxfjrtx.html