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

目录

  • 一、Docker历史
  • 二、Docker优点
  • 三、Docker与虚拟机的区别
  • 四、Docker架构
  • 五、Docker的安装与加速器配置
    • 5.1 Windows10安装Docker
    • 5.2 Ubuntu安装Docker
    • 5.3 CentOS安装Docker
    • 5.4 加速器配置
  • 六、Docker 常用命令
    • 6.1 基本命令
    • 6.2 镜像管理
    • 6.3 容器管理
  • 七、搭建web服务器Nginx
    • 7.1 Nginx简介
    • 7.2 安装并运行Nginx容器
      • 7.2.1 安装Nginx镜像
      • 7.2.2 启动Nginx容器
      • 7.2.3 停止Nginx容器
      • 7.2.4 删除Nginx容器
      • 7.2.5 挂载Nginx容器
  • 八、搭建测试用例管理平台TestLink
    • 8.1 Testlink简介
    • 8.2 部署数据库
    • 8.3 部署Testlink

一、Docker历史

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

二、Docker优点

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

三、Docker与虚拟机的区别

1、容器与容器之间只是进程的隔离,而虚拟机是完全的资源隔离。
2、虚拟机的启动可能需要分钟级别,Docker启动是秒级或者更短。
3、容器使用宿主操作系统的内核,而虚拟机使用完全独立的内核。
Docker容器技术介绍以及搭建Nginx和TestLink服务_第1张图片

四、Docker架构

图解:
Docker容器技术介绍以及搭建Nginx和TestLink服务_第2张图片
概念:
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容器技术介绍以及搭建Nginx和TestLink服务_第3张图片
根据操作文档的提示修改镜像地址即可。

六、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
在这里插入图片描述
启动后就可以访问了ヽ( ̄▽ ̄)ノ
Docker容器技术介绍以及搭建Nginx和TestLink服务_第4张图片
注意: 这里虽然启动了,但是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

在这里插入图片描述
然后,就完成了。
Docker容器技术介绍以及搭建Nginx和TestLink服务_第5张图片

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

8.1 Testlink简介

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

8.2 部署数据库

1、创建容器网络

这里先创建一个testlink的容器网络:docker network create testlink
在这里插入图片描述
查看容器网络:docker network ls
Docker容器技术介绍以及搭建Nginx和TestLink服务_第6张图片
可以看到创建出的网络采用了桥接模式。

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:指定下载的数据库版本(运行后会自动下载)

Docker容器技术介绍以及搭建Nginx和TestLink服务_第7张图片

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容器技术介绍以及搭建Nginx和TestLink服务_第8张图片
删除该容器:docker rm 容器ID,然后重新指定端口号即可。

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

TestLink:默认用户名:user,默认密码:bitnami
Docker容器技术介绍以及搭建Nginx和TestLink服务_第9张图片
登录后进入创建项目页面:
Docker容器技术介绍以及搭建Nginx和TestLink服务_第10张图片
然后就可以开始使用了。
Docker容器技术介绍以及搭建Nginx和TestLink服务_第11张图片

你可能感兴趣的:(docker,容器,运维)