首页 > 其他分享 >软件测试学习笔记丨Docker 安装、管理、搭建服务

软件测试学习笔记丨Docker 安装、管理、搭建服务

时间:2024-09-11 16:56:44浏览次数:13  
标签:容器 run name -- apt Docker 软件测试 docker 搭建

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32192

容器(Docker)技术的价值

  • 保证环境一致性,只要使用相同镜像部署就可以保证一致性。
  • 轻量级虚拟化访问,运行更快,资源更小。同时也可以荣期间的隔离性。
  • 封装部署的负载型,云原生与微服务的首选技术方案。
  • 未来测试人员必学的技术栈。

一、安装与配置

  • Docker 支持多种操作系统平台,Windows, Linux, macOS
  • 注意:只推荐在 Linux 上使用。

1.1 Ubuntu 安装命令

# 切换管理员
  sudo su

# 卸载旧版本的docker(如果有的话)
  apt-get remove docker docker-engine docker.io containerd runc

# 安装依赖
  apt update
  apt install -y ca-certificates curl gnupg lsb-release

# 添加docker-ce官方GPG密钥,用于验证后续的下载的docker软件包
  mkdir -m 0755 -p /etc/apt/keyrings          #新版的Ubuntu可能已经有这个目录了
  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  # 用中科大源下载会快一点
  curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 配置依赖下载源
  echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker
  apt update
  apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  docker --version

1.2 启动命令

  • 启动:systemctl start docker
  • 重启:systemctl restart docker
  • 开机自启动: systemctl enable docker
  • 运行状态:systemctl status docker

1.3 配置

# 创建 docker 用户组并添加用户, 以便无需使用 sudo 运行 Docker 命令
  usermod -aG docker <username>          # 需要注销登录,并重新登录

# Docker加速器
  tee /etc/docker/daemon.json <<-'EOF'
  {
      "registry-mirrors": ["https://ppwphquj.mirror.aliyuncs.com"]
  }
  EOF

  systemctl daemon-reload
  systemctl restart docker

# 查看
  docker info

二、容器管理

  • 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 安装、管理、搭建服务_docker

  • 文件挂载:docker run -d -p 5003:80 -v "$PWD/html":/usr/share/nginx/html --name mynginx nginx
  • -v: 文件挂载/文件映射
  • 在容器本地新建一个html文件夹,然后新建一个index.html文件,内容如下:
  • 软件测试学习笔记丨Docker 安装、管理、搭建服务_mysql_02

  • 在当前目录下执行docker命令,通过映射挂载到容器,这样打开ngnix读取的就是文件的内容
  • 软件测试学习笔记丨Docker 安装、管理、搭建服务_软件测试_03

  • 打开nginx浏览器
  • 软件测试学习笔记丨Docker 安装、管理、搭建服务_docker_04

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命令

软件测试学习笔记丨Docker 安装、管理、搭建服务_docker_05

4.4 搭建项目管理平台Jira

  • docker run --name jira -itd -v "$PWD/jira":/var/atlassian/application-data/jira -p 5003:8080 atlassian/jira-software
  • atlassian/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

软件测试学习笔记丨Docker 安装、管理、搭建服务_docker_06

  • 启动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容器中

标签:容器,run,name,--,apt,Docker,软件测试,docker,搭建
From: https://blog.51cto.com/u_16547786/11982410

相关文章

  • 搭建加速服务器需要注意什么
    搭建加速服务器,无论是用于游戏、网站内容分发、文件下载加速还是其他用途,都需要注意以下几个方面:硬件和配置处理器:选择性能强劲的CPU,尤其是对于需要处理大量计算的应用。内存:确保有足够的RAM来处理高并发请求。存储:使用高速硬盘(如SSD),以提高数据读写速度。网络接口:具备足够带宽和低......
  • Dockerfile说明-镜像最小化-docker-squash镜像压缩工具
     概述很多时候,构建的镜像总是在构建完之后分了好几个镜像层,有些镜像层还是因为只改变了一点东西,就多了整个目录的大小。那么,如何让镜像在构建的时候保持最小化,就是我们运维需要关心的问题。毕竟,有时候镜像太大,可能会被某些厂家的云仓库给限制上传的问题。 Dockerfile用法介......
  • k8s环境搭建
    1.创建主机,设置ip,hostname,firewalldselinux,Netmanage2.设置主机之间的ssh免密3.三个节点yum源配置1.docker2.k8s3.清空以及创建缓存yumcleanall&&yummakecache4.四个源镜像aliyun,epel,kubernetes,docker-ce4.三个节点主机映射5.三个节点安装常......
  • C语言入门教程-(1)简介及搭建环境
    转载知乎https://zhuanlan.zhihu.com/p/52111695https://zhuanlan.zhihu.com/p/52259238https://zhuanlan.zhihu.com/p/52800353https://zhuanlan.zhihu.com/p/53568364https://zhuanlan.zhihu.com/p/54100371https://zhuanlan.zhihu.com/p/54278100 1.谁适合阅读本教程......
  • VUE基础大结局-用vue-cli搭建一个简单的vue项目吧!
    一、vue-cli的安装和使用vue-cli是vue官方提供的、快速生成vue工程化项目的工具 vue-cli官网https://cli.vuejs.org/zh/ 特点开箱即用基于webpack功能丰富且易于扩展支持创建vue2和vue3的项目 安装vue-cli开始右键打开PowerShell窗口,运行命令npminstall-g@vue/......
  • 软件测试常见工具
    收集整理,测试相关工具、资源面试题等,欢迎补充完善功能测试测试工具XMind:思维导图工具,常用来梳理测试点,商业软件,支持免费试用,有功能限制XShell:Windows平台远程Linux服务器连接及操作工具,商业软件,支持免费试用,有功能限制项目/测试管理Jira:缺陷跟踪、客户服务、需求收......
  • Python系列(11)- 使用 Pipenv 搭建 Django + Rest Framework 开发环境
    Django是一个开放源代码的Web应用框架,用Python语言编写的。采用了MTV的框架模式,即模型Model,模版Template和视图View。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。Django:http://www.djangoproject.comGitHub:htt......
  • CloudFire+PicGo搭建免费图床
    目录CloudFire对象存储创建bucket配置域名配置Bucket访问APIPicGO配置CloudFire对象存储|CloudFire提供对象存储服务,每个月有10G的免费额度,并且直连稳定可靠,无需CDN加速,足够作为日常图床使用。创建bucket打开CloudFire官网并注册账号,点击R2存储。创建图床bucket地区可......
  • asp.netcore8 + vue3 + mysql 自用记账项目(二)环境搭建
    一、vue1、node.js安装安装node.js的攻略网上有很多,这里就不多做赘述,安装完成后,验证是否正常然后就是配置淘宝镜像加速,配置环境变量等操作。2、vue安装上面安装完node.js之后,就可以安装vue环境了,网上同样很多,需要注意的是,vue安装完成了,最好将webpack模版、vue-cli、vue-rout......
  • 如何在Windows上搭建并运行DolphinScheduler前后端开发环境
    作者:海豚调度研究随笔编辑整理:曾辉前言ApacheDolphinScheduler是一个优秀的分布式调度系统,广泛应用于大数据处理和自动化任务管理中。本文详细介绍了如何在Windows环境下搭建ApacheDolphinScheduler的前后端开发环境。包括从源码的下载、环境配置、数据库初始化、依赖安装......