Docker在Windows与CentOS上的安装

这个季节有着无数的热烈,就像是飞鸟对天空的迫切。大家好,今天给大家分享一下关于Docker的安装,那么作为一名软件测试工程师,为什么需要了解Docker并且使用Docker呢?Docker会给我们带来怎样的好处呢?

原因主要有以下几点:
  • Docker 可以快速创建和部署一致的测试环境,减少环境搭建的时间和成本。
  • 可以确保在不同的开发、测试和生产环境中,应用的运行环境一致,提高测试结果的可靠性。
  • 有效隔离不同的测试用例或项目,避免资源竞争和冲突。
  • 测试环境可以轻松移植到其他服务器或环境中,方便团队协作和共享。
  • 快速重置测试环境,降低测试的复杂性和成本。
  • 可以模拟出复杂的系统环境,包括依赖的服务和数据库等。
  • 可以提供自动化测试支持,与自动化测试工具集成,实现测试的自动化部署和执行。
  • 根据测试需求灵活调整资源的分配。

所以容器化技术在测试领域也是非常重要的,在多人或者团队协作下,可以使测试环境变得非常灵活。

一、Dcoker介绍

1、什么是Docker?

Docker官网:https://www.docker.com/

Docker和kubernetes(k8s)都是目前主流的Container(容器)技术,在中国异常火爆,搜索热度世界排名第一。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

例子:

将各式各样的货物装在一艘大船上,如果没有集装箱,那么就随便摆放没有标准,可以将货物规整的摆放起来但是货物之间没有任何隔离,这种情况就会导致货物之间相互影响,就比如蔬菜和一些农药放到了一起,这样就一条船就无法实现,如果使用集装箱将各式各样的货物进行标准化,那么货物之间就不会相互影响,就可以用这艘大船进行运输,否则就需要准备多条船来进行分类运输。

Docker的logo是一个巨鲸,它上面托运了很多集装箱;可以把鲸鱼看成是货轮,相当于是一个平台,上面放的集装箱可以看成是容器,集装箱容器里面装的就是各种项目,而且集装箱与集装箱之间没有任何联系,它们是相互隔离的。

2、容器的本质是什么?

容器的本质是进程;

容器本质上是一种进程隔离技术。容器为进程提供了一个隔离的环境,容器内的进程无法访问容器外的进程。

实际上,运行在容器中的程序,是主机上的一个特殊的进程,通过Namespace,cgroups,rootfs等技术把程序所需要的资源划分到一个主机上的一个独立的空间。

容器直接运行在主机的操作系统之上,和主机共享内核。

容器虽然包含程序运行的环境,但他不包含一个完整的操作系统,容器是操作系统级别的虚拟化技术。

3、容器与虚拟化的对比

容器是应用程序层的抽象,将代码和依赖环境打包在一起。

多个容器可以在同一台计算机上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为隔离的进程运行。

并且容器占用的空间少于VM,可以处理更多的应用程序。

4、Docker的基本概念

Docker系统有两个程序:docker服务端和docker客户端

Docker服务端:是一个服务进程,管理着所有的容器。

Docker客户端:是docker服务端的远程控制器,可以用来控制docker的服务端进程。

5、Docker的三大核心组件

仓库(repository)

镜像(images)

容器(containers)

组件之间的关系:

Dcoker镜像:

Docker镜像是Docker容器运行时的只读模板,每一个镜像由一系列的层组成。

每一个镜像都可能依赖于由一个或多个下层组组成的另一个镜像。下层镜像是上层镜像的父镜像。

基础镜像:一个没有任何父镜像的镜像称为基础镜像。

Dcoker容器:

Docker容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每个Docker容器都是从Docker镜像创建的。Docker容器可以运行,开始,停止,移动和删除。每一个Docker容器都是独立和安全的应用平台,Docker容器是Docker的运行部分

6、Docker的作用

1)简化配置

2)整合服务器

3)调试能力

4)提高开发效率

5)隔离应用

6)快速部署

7、扩展

1)docker和kubernetes(k8s)被称为容器时代的"双城记"。

2)DevOps(Developer+Operator)

DevOps(开发运维一体化) = 文化 + 过程 + 工具(docker+k8s)

文化:

信任和尊敬、敏捷的目标、开发的沟通

过程:

发布计划、持续集成、持续发布、持续测试、持续监控、持续改进

工具:

版本管理、自动化、部署监控

二、Windows下Docker安装

1、下载Docker

win10个人版安装可以直接访问官网地址点击下载

桌面版:https://www.docker.com/products/docker-desktop

默认下载的就是64位操作系统的版本

下载完成后点击打开就可以开始进行安装,直接全部默认下一步就行,完成后close。

然后双击桌面的图标启动

可能出现的报错:

1)报错一

解决方式:

开启 Windows 虚拟化和 Linux 子系统(WSL2),并且安装 Linux 子系统。

首先进入控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)。

然后就是安装linux子系统,按住shift键鼠标右键单击开始按钮->用管理员身份打开windows PowerShell

输入如下代码即可在命令行安装,下载会比较慢,需耐心等待。

bash 复制代码
wsl --install -d Ubuntu

设置开机启动 Hypervisor(注意要用管理员权限打开 PowerShell)

bash 复制代码
bcdedit /set hypervisorlaunchtype auto

确保 BIOS 已开启虚拟化,下图检查是否已开启好

如果是已禁用,在开机时进入BIOS开启,开机时按住del进入bios 然后进入oc

找到 advance cpu configuration 把svm mode 改成enable

2)报错二

解决方式:

点击链接安装最新版本的 WSL2

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安装完成后再次启动docker,启动成功后的docker界面。

三、CentOS下Docker安装

安装yum工具:

bash 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

更新本地镜像源:

bash 复制代码
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

安装docker:

bash 复制代码
yum install -y docker-ce

关闭防火墙:

bash 复制代码
# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
# 查看是否关闭防火墙
systemctl status firewalld

启动docker:

bash 复制代码
systemctl start docker  # 启动docker服务
systemctl stop docker  # 停止docker服务
systemctl restart docker  # 重启docker服务

当出现active(running)时,即为启动成功,如图:

查看docker版本:

bash 复制代码
docker -v

配置镜像加速:

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

创建文件夹:

bash 复制代码
sudo mkdir -p /etc/docker

在文件夹内新建一个deamon.json文件:

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF

重新加载文件:

bash 复制代码
sudo systemctl daemon-reload

重启docker:

bash 复制代码
sudo systemctl restart docker
相关推荐
ZHOU西口38 分钟前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
plmm烟酒僧1 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Ven%3 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
Jtti4 小时前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
小奥超人4 小时前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
上辈子杀猪这辈子学IT4 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei4 小时前
linux centos 安装redis
linux·redis·centos
川石课堂软件测试6 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
追风林13 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
hairenjing112313 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word