01. Docker基础环境构建

目录

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.servicesystemctl 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.mzph.cn/news/3034.shtml

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

相关文章

centos7.6下安装mysql

1.下载yum源: wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm2.执行安装: rpm -ivh mysql80-community-release-el7-5.noarch.rpm3.开始安装 yum install -y mysql-server4.启动mysql服务 systemctl start mysqld5.查看…

(Linux)查看端口占用并关闭进程

1、查看端口占用 netstat -anp |grep 端口号 → 列出所有端口-a或--all:显示所有连线中的Socket;-n: 显示数字地址-p: 显示程序的PID和名称 netstat -tunlp |grep 3306 → 端口号netstat -tunlp |grep mysql → 进程名称netstat -tunlp |grep 29520 →…

Scala学习(三)

2.8 浮点类型(Float、Double) Scala的浮点类型可以表示一个小数,比如123.4f,7.8,0.12等等。 1)浮点型分类 数据类型 描述 Float [4] 32 位, IEEE 754标准的单精度浮点数 Double [8] 64 位 IEEE 754标准的双…

Vue 和 React 前端框架的比较

Vue 和 React 前端框架的比较 本文研究了流行的前端框架 Vue 和 React 之间的区别。通过对它们的学习曲线、视图层处理方式、组件化开发、响应式数据处理方式和生态系统及社区支持进行比较分析,得出了它们在不同方面的优劣和特点。该研究对于开发者在选择合适的前端…

Thread-local storage is not supported for the current target

xcode编译时遇到上述报错,解决办法:调整最低系统版本配置

Sql构建

Sql构建 SQL 构建对象介绍 之前通过注解开发时,相关 SQL 语句都是直接拼写的,一些关键字写起来比较麻烦、而且容易出错 MyBatis 提供了 org.apache.ibatis.jdbc.SQL 功能类,专门用于构建 SQL 语句 sql拼接测试: public class …

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型 给本帖投票 56211打赏收藏 分享 转发到动态举报 写回复 性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增>> 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 microsof…

最新版本的OpenLens,有两个隐藏技能

最新版本的OpenLens v6.4.15,有两个隐藏技能 1、需要添加扩展插件alebcay/openlens-node-pod-menu,查看pod时才会出现进入命令行的按钮 2、测试环境查看pod、node时可能会出现监控数据未显示,点击集群的Setting,在Metrics里选…

软件测试用例的八大步骤你都知道吗?

目录 第一步、UI体验测试 第二步、功能完整性测试 第三步、业务流程测试 第四步、容错机制测试 第五步、常规性测试 第六步、性能测试 第七步、交互体验测试 第八步、兼容性测试 总结: 第一步、UI体验测试 1.风格、样式、颜色是否协调 2. 界面布局是否整齐、…

【C++】开源:cpp-tbox百宝箱组件库

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍cpp-tbox百宝箱组件库。 无专精则不能成,无涉猎则不能通。。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…

Jenkins (一)

Jenkins (一) Docker Jenkins 部署 一. 安装 jenkins $ mkdir -p /home/tester/data/docker/jenkins $ vim jenkins:lts-jdk11.sh./jenkins:lts-jdk11.sh 内容 #! /bin/bash mkdir -p /home/tester/data/docker/jenkins/jenkins_homesudo chown -R 1000:1000 /home/tester/da…

后端查询出的数据库数字自动补零和不补零

select CAST(YTD_CHANGE*100 as decimal(18,1)), round(YTD_CHANGE*100,1) from RP where data_date 20211231补零 round(PYTD_CHANGE_PER*100,1)不补零 CAST(PYTD_CHANGE_PER*100 as decimal(18,1))

PageHelper分页失效,只能查出第一页

PageHelper分页失效&#xff0c;只能查出第一页 1. 现象2. 原因3. PageHelper工作原理 1. 现象 分页代码如下&#xff1a; int pageId Constants.ONE;boolean isHasNextPage;do {PageHelper.startPage(pageId, Constants.DEFAULT_PAGE_SIZE);List<String> projectIdLi…

【SCI一区】【电动车】基于ADMM双层凸优化的燃料电池混合动力汽车研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 1.2 电动车动力学方程 1.3 电池模型 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、数据、文章讲解 &#x1f4a5;1 概述 文献来源&#xff1a; 随着车辆互联性的出现&#xff0c;互联汽车 (CVs) 在增强道路安全、改…

数学建模-图论 最短路径

作图 %% 注意&#xff1a;以下代码需要较新版本的matlab才能运行&#xff08;最好是2016版本及以上哦&#xff09; % 如果运行出错请下载新版的matlab代码再运行%% Matlab作无向图 % &#xff08;1&#xff09;无权重&#xff08;每条边的权重默认为1&#xff09; % 函数graph(…

SQL进阶(2)——SQL语句类型 增删改查CRUD 事务初步 表关联关系 视图 +索引

目录 引出SQL语句类型1.DML数据操纵语言&#xff08;重点&#xff09;2.DQL数据查询语言&#xff08;重点&#xff09;3.DDL(Data Definition Language了解)4.DCL(Data Control Language了解)5.TCL 事务控制语言 运算符和其他函数1.运算符2.其它函数增删改查CRUD 视图索引事务1…

如何克服Leetcode做题的困境

文章目录 如何克服Leetcode做题的困境问题背景克服困境的建议实践与理论结合切忌死记硬背分析解题思路不要过早看答案迭代式学习寻求帮助坚持与耐心查漏补缺 结论 如何克服Leetcode做题的困境 问题背景 明明自觉学会了不少知识&#xff0c;可真正开始做Leetcode题目时&#x…

内存参数问题导致内存溢出

问题&#xff1a;内存参数问题导致内存溢出 1、文件过大&#xff0c;进行分块 2、 运行参数&#xff0c;使用最大内存配置2时&#xff0c;导致空指针异常。 3、获取详细报错信息-内存溢出 多线程捕获Throwable异常 修改代码&#xff0c;捕获Throwable&#xff0c;获取异常 异…

vue中预览pdf

情况一 如果后端返回的pdf地址&#xff0c;粘贴到浏览器的url框中&#xff0c;可以在浏览器中直接进行预览的&#xff0c;那么我们就用window.open&#xff0c;或 a标签&#xff0c;或iframe标签通过设置src进行预览即可 法1&#xff1a;可以直接使用window.open&#xff08;…

leetcode100.相同的树

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;相同的树 1️⃣ 代码&#xff1a; bool isSameTree(struct TreeNode* p, struct TreeNode* q){// 判断两棵树当前结点是否为空if (p NULL && q NULL) {// 说明是相同的return true;}// 来到这里有几种情况// …