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
相关推荐
Zww089127 分钟前
docker部署个人网页导航
运维·docker·容器
指间and流年28 分钟前
Windows Server2016多用户登录破解
windows
PeterJXL29 分钟前
Docker-compose:管理多个容器
运维·docker·容器
海王正在撒网33 分钟前
用 Docker 部署 Seafile 社区版
运维·docker·容器
晓星航2 小时前
Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
人工智能·docker·机器人
sysin.org5 小时前
VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025
windows·macos·esxi·bios·oem·网卡驱动·nvme驱动
神秘的土鸡5 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat
玖石书5 小时前
docker 数据管理
docker·容器
shuxianshrng5 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
Lossya5 小时前
【自动化测试】常见的自动化遍历工具以及如何选择合适的自动化遍历工具
自动化测试·功能测试·测试工具·自动化·测试