Docker容器技术介绍以及搭建Nginx和TestLink服务

一、Docker历史

Docker起源于2013年。
Docker是一个开源的应用容器引擎,基于Go语言开发,Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的系统。

二、Docker优点

1、可以用来快速交付应用:加快打包时间,加快测试,加快发布,缩短开发及运行代码之间的周期。
2、复杂环境管理,应用隔离:不同软件运行环境兼容依赖问题,开发环境/测试环境/线上环境保持一致。
3、轻量级:对于系统内核来说,一个docker只是一个进程,一个系统可以运行上千个容器。

三、Docker与虚拟机的区别

1、容器与容器之间只是进程的隔离,而虚拟机是完全的资源隔离。
2、虚拟机的启动可能需要分钟级别,Docker启动是秒级或者更短。
3、容器使用宿主操作系统的内核,而虚拟机使用完全独立的内核。
在这里插入图片描述

四、Docker架构

图解:
在这里插入图片描述
概念:
1、Docker镜像:Docker Images,每一个镜像都可能依赖一个或多个下层的镜像组成的另一个镜像,AUFS文件系统。
2、Docker仓库:Docker Registry,集中存放镜像的地方。
3、Docker容器:Docker Containers,镜像运行后的进程。

五、Docker的安装与加速器配置

5.1 Windows10安装Docker

下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows
注意:不支持Windows 10家庭版操作系统。

5.2 Ubuntu安装Docker

更新apt:sudo apt-get update

1、安装依赖:

apt-get -y install apt-transport-https ca-certificates curl software-properties-common

2、安装证书:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

3、添加源:

add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

4、安装docker:

apt -y install docker-ce

5.3 CentOS安装Docker

1、安装依赖:

yum install -y yum-utils   device-mapper-persistent-data lvm2

2、添加源:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装Docker:

yum -y install docker-ce

4、启动Docker:

systemctl start docker

查看运行的容器:docker ps
查看Docker版本:docker version
Docker 设置开机自启动:systemctl enable docker

5.4 加速器配置

阿里云容器镜像服务:https://cr.console.aliyun.com/
需要注册阿里云账号
在这里插入图片描述
根据操作文档的提示修改镜像地址即可。

六、Docker 常用命令

6.1 基本命令

 Docker版本信息:docker version 
 Docker系统信息:docker info 

6.2 镜像管理

说明: mirror为镜像名称,需要替换

查看所有镜像:docker images

搜索镜像:docker search mirror

拉取下载最新版本镜像:docker pull mirror:latest

导出镜像:docker save mirror> mirror.tar

导入镜像:docker load < mirror.tar

删除镜像:docker rmi mirror:latest

更改镜像名:docker tag mirror:latest mirror:test

查看镜像创建历史:docker history mirror

查看日志:docker logs

6.3 容器管理

说明: container为容器名称,需要替换

运行容器:docker run -d --name=container container:latest ping 114.114.114.114

查看运行的容器:docker ps
查看所有容器:docker ps -a

查看容器中运行的进程:docker top container

查看容器资源占用:docker stats container

容器启动/重启/停止/关闭:docker start/restart/stop/kill container

暂停容器:docker pause/unpause container

强制删除容器:docker rm -f container

执行命令:docker exec -it container ls

复制文件:docker cp container: /etc/hosts hosts

查看容器日志:docker logs -f container

查看容器的元信息:docker inspect container
    格式化输出:docker inspect -f '{{.Id}}' container
    Inspect语法参考

查看容器内文件结构:docker diff container

七、搭建web服务器Nginx

7.1 Nginx简介

Nginx(发音同engine x)是一个异步的Web服务器,主要提供Web服务、反向代理、负载均衡和HTTP缓存功能。由Igor Sysoev创建于2004年,使用C语言开发。

7.2 安装并运行Nginx容器

Nginx镜像库地址:https://hub.docker.com/_/nginx?tab=tags

7.2.1 安装Nginx镜像

默认安装最新版:docker pull nginx:latest

选择版本安装,加上版本号:docker pull nginx:1.17.10

7.2.2 启动Nginx容器

启动并设置映射的端口号:docker run -p 80:80 nginx
在这里插入图片描述
启动后就可以访问了ヽ( ̄▽ ̄)ノ
在这里插入图片描述
注意: 这里虽然启动了,但是linux中一旦退出,服务就停止了。所以,我们需要将它设置为后台启动。

这里增加-d参数(-d 后台运行),(–name) 再将它重新命名一下:

docker run -d --name nginx -p 80:80 nginx:1.17.10

示例:
在这里插入图片描述

7.2.3 停止Nginx容器

停止容器(因为前面已经重命名为nginx了,这里就不用加版本号了):

docker stop nginx

在这里插入图片描述

7.2.4 删除Nginx容器

停止后可直接删除:

docker rm nginx

容器还在运行时删除,需增加 -f 参数:

docker rm -f nginx

在这里插入图片描述

7.2.5 挂载Nginx容器

增加 -v 参数,${PWD}表示linux下的当前目录:

docker run -d --name nginx -p 80:80 -v ${PWD}/nginx/html:/usr/share/nginx/html nginx

挂载完成后,我们来写一个html页面来运行它吧,\(>0<)/ 加油!

进入挂载的目录中:cd nginx/html

编辑一个页面:vim index.html

在这里插入图片描述
然后,就完成了。
在这里插入图片描述

八、搭建测试用例管理平台TestLink

8.1 Testlink简介

Testlink是基于WEB的测试用例管理系统,主要功能是:测试项目管理、产品需求管理、测试用例管理、测试计划管理、测试用例的创建、管理和执行,并且还提供了统计功能。

8.2 部署数据库

1、创建容器网络

这里先创建一个testlink的容器网络:docker network create testlink
在这里插入图片描述
查看容器网络:docker network ls
/img-blog.csdnimg.cn/0e697b4f693e4a1f8fd919a1b232cb4a.png)
可以看到创建出的网络采用了桥接模式。

2、启动数据库

完整命令:

docker run -d --name mariadb -p 3306:3306 --user root -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=admin -e MARIADB_PASSWORD=123456 -e MARIADB_DATABASE=testlink_db --net testlink -v ${PWD}/mariadb:/bitnami   bitnami/mariadb:10.3.22

命令解析:

docker run -d:后台运行容器
--name mariadb:容器重新命名为mariadb
-p 3306:3306:指定端口号
--user root:指定为root账户启动
-e :表示参数设置(ENV)
MARIADB_ROOT_PASSWORD:数据库的管理员密码,这里设置为了mariadb
MARIADB_USER:数据库的用户名
MARIADB_PASSWORD:数据库的密码
MARIADB_DATABASE:新建的数据库名称
--net testlink:数据库运行后指定到对应的容器网络,这里指定到testlink网络
-v ${PWD}/mariadb:/bitnami:指定数据文件的存储路径(${PWD}表示当前路径)
bitnami/mariadb:10.3.22:指定下载的数据库版本(运行后会自动下载)

在这里插入图片描述

8.3 部署Testlink

1、运行testlink

完整命令:

docker run -d --user root -p 8080:8080 -p 443:443 --name testlink -e TESTLINK_DATABASE_USER=admin -e TESTLINK_DATABASE_PASSWORD=123456 -e TESTLINK_DATABASE_NAME=testlink_db --net testlink -v ${PWD}/testlink:/bitnami  bitnami/testlink:1.9.20

命令解析:

--user root:指定为root用户
-p 8080:8080 -p 443:443:指定两个映射端口,http为8080,https为443,默认端口
--name testlink:重命名为testlink
TESTLINK_DATABASE_USER:指定testlink的数据库用户名(前面部署的数据库)
TESTLINK_DATABASE_PASSWORD:指定testlink的数据库密码(前面部署的数据库)
TESTLINK_DATABASE_NAME:指定testlink的数据库名(前面部署的数据库)
--net testlink:指定容器网络
-v ${PWD}/testlink:/bitnami:数据文件存储路径

在这里插入图片描述
之前已经下载过了,就没有重新下载了。

常见问题:

端口冲突:
在这里插入图片描述
解决办法:
查看所有容器:docker ps -a
在这里插入图片描述
删除该容器:docker rm 容器ID,然后重新指定端口号即可。

最后在你的本地输入ip+端口号,就可以访问啦!٩(๑❛ᴗ❛๑)۶!

TestLink:默认用户名:user,默认密码:bitnami
在这里插入图片描述
登录后进入创建项目页面:
在这里插入图片描述
然后就可以开始使用了。
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值