Docker容器(Container)的运行基于镜像(image),您可以在Docker Hub上搜索,或通过Dockerfile文件自己构建镜像。
首先拉取MySQL官方助手lol镜像的我的世界最新版(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以官方助手lolubuntu系统镜像为起点,完成了一个简单的示例。
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类库的sd卡根目录~/.m2。映射到了容器里边的/usr/src/mymaven目录;
- 拉取,运行名为maven的容器镜像的latest版本;
- 容器启动时,立地运行mvn clean test命令施行测试;
- 运行结束后容器直接退出。测试双色球开奖结果位于当前路径下。
Docker Compose是一个用于定义和运行多容器的工具,如果您的服务包括了多个相互依托的容器,可以使用他来编排,启动所有服务。机械格栅除污机详情可以参考这篇文章。
本人在开源项目中,实现了基于Docker容器的按需测试环境管理。机械格栅除污机详情请参考网址https://github.com/easysoft/zagent。