大话2免费版一级星盘炼化表

    1. <form id=zhudObCNh><nobr id=zhudObCNh></nobr></form>
      <address id=zhudObCNh><nobr id=zhudObCNh><nobr id=zhudObCNh></nobr></nobr></address>

      測試開發之系統篇-Docker常用操作

      原創

      Docker容器(Container)的運行基于鏡像(image),您可以在 Docker Hub上檢索,或通過Dockerfile文件自己構建鏡像。

      首先拉取 MySQL官方鏡像的最新版(latest)。

      docker pull mysql

      使用docker images显示本地的 鏡像


      docker images

      使用docker run命令来运行容器,-d设置在后台运行,并返回容器ID。

      docker run -itd --name db-server -e MYSQL_ROOT_PASSWORD=P2ssw0rd mysql

      使用docker ps查看正在运行的鏡像,-a参数显示所有实例。

      docker ps -a

      使用docker exec命令,可进入容器内部系统的Shell。

      docker exec -it db-server /bin/bash

      在容器内完成相应操作/修改后,commit命令可提交更新到指定的鏡像。

      docker commit -m "update" -a "aaron" db-server registry.cn-shanghai.aliyuncs.com/aaron-share/db-server

      更新本地鏡像到鏡像管理服务器,此处先完成了到阿里云鏡像服务器的登录。

      docker login --username=18626200000 registry.cn-shanghai.aliyuncs.com docker push registry.cn-shanghai.aliyuncs.com/aaron-share/db-server:latest

      以下命令分别删除容器和鏡像,-f可强制删除运行中的容器。

      docker rm -f db-server docker rmi registry.cn-shanghai.aliyuncs.com/aaron-share/db-server

      下面,我们简单介绍下,如何使用Dockerfile来构建鏡像。以下Dockerfile以官方ubuntu系统鏡像为起点,完成了一个简单的示例。

      FROM ubuntu:latest                       # 基准鏡像 
      MAINTAINER aaron                         # 作者信息 
      ARG APT=apt-get                          # 临时变量,构建容器时有效 
      RUN $APT update \                        # 构建容器时执行的命令 
        && $APT install -y curl \
        && rm -rf /var/lib/apt/lists/*
      CMD [ "curl", "-s", "http://baidu.com" ] # 运行容器时执行的命令

      然后,就可以使用docker build命令来构建鏡像。

      docker build -t registry.cn-shanghai.aliyuncs.com/aaron-share/ubuntu-server:latest .


      软件测试中,我们通常使用预制好的、不同环境的Docker鏡像,来进行相应的测试。
      可以使用上述的docker exec命令进入容器,执行测试命令;也可以直接在宿主机上执行docker run来执行测试。

      docker run -i --rm \
        -
                          -name testng-
                          in-docker  -
                          v 
                          "$(pwd)"
                          :/usr/src/mymaven  -
                          v ~
                          /.m2:/root
                          /.m2 -w /usr
                          /src/mymaven  maven:latest 
        mvn clean test

      以上使用了Java常見的Maven構建工具來執行測試,-v表示從宿主機到容器的路徑映射,它

      • 通過$(pwd)命令獲取當前項目路徑,並映射到了容器內部的/usr/src/mymaven目錄;
      • 將Maven類庫的根目錄~/.m2,映射到了容器內部的/usr/src/mymaven目錄;
      • 拉取、运行名为maven的容器鏡像的latest版本;
      • 容器启动时,立即运行mvn clean test命令执行测试;
      • 運行結束後容器直接退出,測試結果位于當前路徑下。


      另外,Docker Compose是一个用于定义和运行多容器的工具,如果您的服务包括了多个相互依赖的容器,可以使用他来编排、启动所有服务。详情可以参考 這篇文章


      本人在開源項目中,實現了基于Docker容器的按需測試環境管理,詳情請參照網址 https://github.com/easysoft/zagent

      禅道項目
      HoME大话2免费版一级星盘炼化表