01. Docker基础环境构建

news2024/9/22 21:27:45

目录

1、前言

2、关于Docker

2.1、几个术语

2.2、Docker容器化的价值

3、搭建基础环境

3.1、安装VMware

3.2、安装Doker

3.3、启动

3.4、验证Docker环境

4、小结


1、前言

在这里我们将学习关于Docker的一些技能知识,那么首先我们应该怼Docker有一个基础的认识,以及动手搭建一个基础的环境。

2、关于Docker

Docker是一个开源的虚拟化容器引擎,我们可以打包他们的应用及依赖到一个可移植的容器中,然后发布到Linux环境中以实现虚拟化管理。Docker的虚拟化容器完全使用“沙箱”机制,相互之间是逻辑隔离的。

2.1、几个术语

关于Docker有几个重要的术语:

  • Docker客户端。通常指 Docker 提供的命令行工具,是 Docker 最基本的用户接口。用户通过 Docker 客户端提交Docker 指令,Docker 守护进程接收并执行该指令。Docker 也有图形化的客户端工具。
  • Docker守护进程(Daemon)。在 Docker 宿主机上运行 Docker,实际上运行的是 Docker 守护进程。用户并不直接和 Docker 守护进程交互,而是通过 Docker 客户端的命令来和它进行交互。
  • Docker镜像(Image)。一个Docker 镜像是一个只读的模板。例如,一个 Docker 镜像可以包含一个 CentOS 的操作系统、一个MySQL的数据库和一个Tomcat的应用服务器。Docker镜像被用来创建Docker容器。Docker提供了一个简单的方式来构建一个新的镜像或更新一个已经存在的镜像。用户也可以从镜像仓库下载其他人已经创建好的 Docker 镜像。
  • Docker容器(Container)。通过 Docker 镜像可以创建 Docker 容器。Docker 存任何东西,而的容器可以保这些东西是运行一个应用所必需的。可以把 Docker 容器看成是一个虚拟机。Docker 容器可以被运行、开启、停止移动和删除。每一个容器都是一个分离的、安全的应用平台。Docker 容器是 Docker 的运行组件。
  • 镜像仓库(Repository)。Docker 的镜像仓库用于保存 Docker 镜像,它可以是公共的存储地方,也可以是私有的存储地方.。
    • 公共的镜像仓库由 Docker Hub 提供,它提供了一个用户可以使用的已有镜像的集合。这些集合中的镜像可以是你自己创建的,也可以是别人创建的。
    • 私有的镜像仓库需要自己在私有环境中搭建,例如在企业内网中自行搭建。Harbor 是一个典型的私有的镜像仓库。

相互之间的体系结构如图所示:

2.2、Docker容器化的价值

Docker 虚拟化容器有以下两方面的价值。

  1. 从系统的架构层面上看: Docker 可以方便地支持并实现微服务架构,从而更方便灵活地实现架构的变化和系统的扩展。同时,Docker 虚拟化容器有助于 DevOps 的落地,可以大大提升开发效率,加速迭代。
  2. 从底层基础层面上看:利用 Docker 虚拟化容器技术可以方便地实现系统的移植,帮助实现企业应用上云,让应用在自有数据中心和云端之间实现动态迁移。

3、搭建基础环境

安装基础环境,这里用到了以下几个东西,由于我用的是windows系统,且经费有限,无法购买linux服务器(土豪请随意)。因此我在本机电脑上安装了虚拟机,来运行我的docker环境。虽然windows也能支持docker环境,但目前来看还不够友好。

所需软件:

  1. VMware-workstation-full-17.0.0-20800274.exe。虚拟机管理器,用于安装Centos操作系统环境。
  2. CentOS-7-x86_64-Everything-2009.iso。CentOS7操作系统镜像。此后将作为Docker运行的宿主机。

补上软件下载地址:

Download VMware Workstation Pro

Index of /centos/7.9.2009/isos/x86_64/

3.1、安装VMware

安装详细过程省略。基本网上随便找个教程即可。安装完之后启动虚拟机:

需要关注的几点是:

为了方便我们docker操作,我们关闭防火墙和Selinux。

systemctl stop firewalld.service

systemctl disable firewalld.service

同时需要外网环境安装镜像,虚拟机选择NAT模式。

3.2、安装Doker

使用yum安装docker。这里注意需要使用root账户,这里的docker没有指定版本,默认安装最新版本。

yum install -y docker

指定docker版本,如下命令则安装docker 1.13.1版本:

yum install -y docker-1.13.1

安装完成后:

查看docker版本:

docker version

3.3、启动

启动docker服务。

systemctl start docker.service
systemctl enable docker.service

执行完之后,再查看下docker版本:

我们可以看到具体的Client端和Server端版本。

3.4、验证Docker环境

使用命令查看Docker运行状态的详细信息。

docker info

其中,Registry为仓库镜像地址,这里使用的是官方的Docker Hub地址。

我们也可以通过系统服务命令查看Docker运行状态。

systemctl status docker

4、小结

到此,整个docker的基础环境就已经构建完毕,大部分都是在下一步下一步的过程。下篇内容,我们将在Docker中部署第一个应用来试试看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/759190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器离线部署docker,镜像迁移,mysql主从搭建等服务

公司项目要上线项目,买了两台云服务器,需进行环境部署(1台接入公网,一台只能局域网访问),主要部署以下内容 1、服务器之间配置ssh免密 2、离线docker部署 3、docker镜像迁移 4、redis服务 5、minio文件…

Idea配置Maven优先从本地仓库获取依赖

idea配置maven依赖优先从指定本地仓库获取 在设置中搜索 Runner ,在VM Option中设置参数-DarchetypeCataloginternal <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http…

沐风老师MaxScript快速入门教程

Maxscript是将自定义3dMax应用的更强大的方法之一。结合内置的侦听器和编辑器&#xff0c;我们在运行时操作和测试代码&#xff0c;使其成为用户试验和探索改进软件体验的强大选项。通过Maxscript&#xff0c;我们几乎可以操作软件中的每一个对象&#xff0c;包括但不限于&…

【C++】-vector的模拟实现(以及memcpy如何使用)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

Spring-MVC的注解扫描-spring17

包括我们业务层和Dao层&#xff0c;去帮助别人去扫 只扫controller下的注解

00_YS_硬件电路图

1.主控制芯片的型号 STM32F407IGT6&#xff0c;LQFP-176&#xff0c;1MB 内部 FLASH&#xff0c;192KB RAM USART3 RS485 通信&#xff0c;芯片使用 SP3072EEN; UART5 RS232 通信&#xff0c; CAN 1 路&#xff0c;型号 SN65HVD230 USB 支持 …

Python应用实例(二)数据可视化(三)

数据可视化&#xff08;三&#xff09; 1.使用Plotly模拟掷骰子1.1 安装Plotly1.2 创建Die类1.3 掷骰子1.4 分析结果1.5 绘制直方图1.6 同时掷两个骰子1.7 同时掷两个面数不同的骰子 1.使用Plotly模拟掷骰子 本节将使用Python包Plotly来生成交互式图表。需要创建在浏览器中显示…

代码随想录算法训练营第十九天 | 动态规划系列5,6,7,8

动态规划系列5,6,7,8 377 组合总和 Ⅳ未看解答自己编写的青春版重点代码随想录的代码我的代码(当天晚上理解后自己编写) 爬楼梯进阶322 零钱兑换未看解答自己编写的青春版写完这道题后的感受重点代码随想录的代码动态规划&#xff0c;也要时刻想着剪枝操作。我的代码(当天晚上理…

异常执行结果随笔

前段时间有朋友问我异常执行顺序问题&#xff0c;这里简单记录下哈。 伪代码描述&#xff0c;当j0和j1&#xff0c;输出结果分别是什么&#xff1f; int i 0; int j 0或1; try {j i / j&#xff1b;System.out.println(i);return i; } catch (Exception e) {System.out.pri…

win10如何使用wsl配置Ubuntu并使用vscode连接

文章目录 0. 前置资料1. 下载wsl2. 下载Ubuntu3. vscode连接wsl 0. 前置资料 wsl为适用于 Linux 的 Windows 子系统&#xff0c;可参考以下微软的官方文档 https://learn.microsoft.com/zh-cn/windows/wsl/ 1. 下载wsl 点击屏幕左下角的放大镜&#xff0c;直接在输入框键入P…

第 354 场LeetCode周赛

A 特殊元素平方和 模拟 class Solution { public:int sumOfSquares(vector<int> &nums) {int res 0;int n nums.size();for (int i 0; i < n; i)if (n % (i 1) 0)res nums[i] * nums[i];return res;} };B 数组的最大美丽值 差分数组: n u m s [ i ] nums[…

cmake处理参数时的一些问题说明

cmake处理参数时的一些问题说明 函数传参空格和分号的坑函数转发的坑demo 函数传参遇到不平衡方括号的坑 函数传参空格和分号的坑 我们在处理函数和宏的时候不过不小心会遇到很多坑例如: someCommand(a b c) someCommand(a b c)因为cmake中使用空格或者分号分隔符所以上面代…

Django实现接口自动化平台(十一)项目模块Projects序列化器及视图【持续更新中】

相关文章&#xff1a; Django实现接口自动化平台&#xff08;十&#xff09;自定义action names【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解&#xff0c;查看本章内容时&#xff0c;要结合整体项目代码来看&#xff1a; python django vue httprunner …

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型

一、ChatYuan-large-v2 模型 ChatYuan-large-v2是一个开源的支持中英双语的功能型对话语言大模型&#xff0c;与其他 LLM 不同的是模型十分轻量化&#xff0c;并且在轻量化的同时效果相对还不错&#xff0c;仅仅通过0.7B参数量就可以实现10B模型的基础效果&#xff0c;正是其如…

自动化测试-selenium环境搭建

文章目录 1. 什么是自动化2. 自动化测试分类3. selenium的环境搭建4. 测试selenium 1. 什么是自动化 自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程&#xff0c;而无需人工干预或指导。 自动化测试&#xff1a;使用自动化工具和脚本来执行测试用例&#x…

浅谈端口 | 80端口和8080端口是2个不同的端口吗?有何区别?

目录 写在前面 端口及其特点 端口号的范围和分类 在HTTP超文本传输协议中80端口有正式的身份 写在前面 首先&#xff0c;确定以及肯定的是他们俩是完全不同的端口。一般80作为网页服务器的访问端口&#xff0c;比如一个网站的ip地址是119.119.119.119&#xff0c;我们在浏…

如何将SAP数据抽取到Azure数据湖平台?

经过多年的发展&#xff0c;SNP Glue 在全球已成为值得信赖且广为人知的解决方案&#xff0c;支持客户将其 SAP 数据与现代化的平台集成。SNP Glue 打破了数据孤岛&#xff0c;向数据科学家开放了 SAP&#xff0c;支持基于企业 SAP 数据的多个新用例。 随着时间的推移&#xff…

MySQL数据库之事物

一、MySQL事务的概念 &#xff08;1&#xff09;事务是一种机制、一个操作序列&#xff0c;包含了一组数据库操作命令&#xff0c;并且把所有的命令作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这一组数据库命令要么都执行&#xff0c;要么都不执行。 &#xff08…

【基础理论】描述性统计基本概念

一、说明 统计学是数学的一个分支&#xff0c;涉及数据的收集、解释、组织和解释。本博客旨在回答以下问题&#xff1a; 1. 什么是描述性统计&#xff1f;2. 描述性统计的类型&#xff1f;3. 集中趋势的度量&#xff08;平均值、中位数、模式&#xff09; 4. 散布/离差度量&…

每天一道C语言编程(6):委派任务

题目描述 某侦察队接到一项紧急任务&#xff0c;要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人&#xff0c;但有以下限制条件&#xff1a; 1)A和B两人中至少去一人&#xff1b; 2)A和D不能一起去&#xff1b; 3)A、E和F三人中要派两人去&#xff1b; 4)B和C都去或都不去…