软件测试学习笔记丨 Docker 安装、管理、搭建服务
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32192
容器(Docker)技术的价值
保证环境一致性,只要使用相同镜像部署就可以保证一致性。
轻量级虚拟化访问,运行更快,资源更小。同时也可以荣期间的隔离性。
封装部署的负载型,云原生与微服务的首选技术方案。
未来测试人员必学的技术栈。
一、安装与配置
Docker 支持多种操作系统平台,Windows, Linux, macOS
注意:只推荐在 Linux 上使用。
1.1 Ubuntu 安装命令
1.2 启动命令
启动:systemctl start docker
重启:systemctl restart docker
开机自启动: systemctl enable docker
运行状态:systemctl status docker
1.3 配置
二、容器管理
docker run -d --name={your_name} {image_name} (运行容器), -d 表示后台运行
docker ps -s -a {查看当前所有容器}
docker stop {container_name} (停止容器), container_name 可以是容器名称或者是容器 ID
docker kill (container_name) {杀死容器}
docker rm -f {container_name} (删除容器)
docker logs -f {容器名称} (查看容器日志),-f 持续输出日志,不加-f 输出当前最新日志
docker inspect {容器名称} (查看容器的元数据)
docker exec -it {容器名称} bash 进入容器,exec 的意思是在容器中运行一个命令。 如果是 bash 并且指定了 -it 就会打开容器的 shell 交互
三、 镜像管理
docker pull {image_name} (拉取镜像)
docker push {image_name} (推送镜像)
docker images (查看当前机器的所有镜像)
docker rmi {image_name} (删除当前机器的一个镜像)
docker tag {source_images_name:tag your_image_name:tag} 为一个镜像打 tag
docker save busybox > busybox.tar
docker load < busybox.tar.gz
四、一行命令搭建常见服务
4.1 搭建 Web 服务器 Nginx
端口映射:docker run -d -p 5003:80 --name mynginx nginx (容器端口 80,映射到宿主机的 5003)
文件挂载:docker run -d -p 5003:80 -v "$PWD/html":/usr/share/nginx/html --name mynginx nginx
-v: 文件挂载/文件映射
在容器本地新建一个 html 文件夹,然后新建一个 index.html 文件,内容如下:
在当前目录下执行 docker 命令,通过映射挂载到容器,这样打开 ngnix 读取的就是文件的内容
打开 nginx 浏览器
4.2 搭建数据库服务 MySQL
docker run -d -p 8881:3306 -v "$PWD/mysql":/var/lib/mysql -e MYSQL_ROOT_PASSWORD=test1. --name some-mysql mysql:5.5-e: 配置环境变量
4.3 搭建持续集成平台 Jenkins
docker run --name myjenkins -itd -p 5003:8080 -p 50000:50000 --restart always --privileged=true --user root --env JAVA_OPTS="-Xmx8192m" -v "$PWD/jenkins_data":/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /bin/docker:/bin/docker jenkins/jenkins:lts-i 和 -t 一起表示以交互式方式运行容器,即使后台运行也会保持伪终端打开-d: 表示容器在后台运行--restart always: 表示如果容器因为异常原因关闭,会自动重启--privileged=true: 给 docker 开启特殊权限--user root: 启动容器时使用 root 用户启动--env: 环境变量-v: 文件挂载 (把 docker 的 sock 和 docker 命令挂载到容器里,实现在容器里运行 docker 命令
4.4 搭建项目管理平台 Jira
docker run --name jira -itd -v "$PWD/jira":/var/atlassian/application-data/jira -p 5003:8080 atlassian/jira-softwareatlassian/jira-software: 镜像名称
4.5 搭建测试用例管理平台 TestLink
初始化数据库 mariadb,指定环境变量
docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -e MARIADB_USER=bn_testlink -e MARIADB_DATABASE=bitnami_testlink -v /root/gz/images/mysql:/var/lib/mysql -p 8088:3306 bitnami/mariadb:latest
启动 testlink,关联对应的 DB
docker run -d --name testlink -p 5003:8080 -p 444:443 -e ALLOW_EMPTY_PASSWORD=yes -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --link mariadb bitnami/testlink:latest--link mariadb: 把数据库容器 mariadb 和 testlink 容器进行链接,把 mariadb 以环境变量的形式注入到 testlink 容器中
软件测试开发免费视频教程分享
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/f0e5181dbf8131018f8bb3826】。文章转载请联系作者。
评论