锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. 一、初识Docker

一、初识Docker

0
  • 软件开发
  • 发布于 2024-08-19
  • 0 次阅读
黄健
黄健

目录

1 Docker为什么会出现?

2 Docker的历史

3 Docker学习视频链接

3.1 Docker官网:

3.2 Docker官方文档:

3.3 Docker仓库地址:

4 虚拟化技术和容器化技术

4.1 虚拟化技术

4.2 容器化技术

4.3 DevOps(开发、运维)

5 名词解释

5.1 镜像(image)

5.2 容器(container)

5.3 仓库(repository)

6 阿里云镜像加速

7 Docker安装步骤

8 回顾Docker执行hello-world 流程

1 Docker为什么会出现?

(1)在开发和运维之间我们经常会听到这样一种声音:"我在我的电脑上可以运行!",而且如果版本更新,还有可能会导致服务不可用,这对于运维来说考验就比较大!

(2)环境配置方面,传统方式运维在每一个机器都要部署环境(Redis集群、ES、Hadoop......),费时费力!

那么我们在发布一个项目的时候(jar+(Redis、mysql、jdk、ES)),能不能带上环境安装包呢?

2 Docker的历史

VM:Linux centos原生镜像(一台电脑) ! 隔离的话需要开多个虚拟机!几个G!耗时长!笨重!

docker:隔离,镜像(最核心的环境 4m+jdk+mysql)十分的小巧,只需要运行镜像即

可!几个M!甚至KB,秒级启动!

3 Docker学习视频链接

Docker最新超详细版教程通俗易懂https://www.bilibili.com/video/BV1og4y1q7M4

3.1 Docker官网:

Home - DockerLearn how Atomist will help Docker meet the challenge of securing secure software supply chains for development teams.https://www.docker.com/

3.2 Docker官方文档:

Docker Documentation | Docker DocumentationHome page for Docker's documentationhttps://docs.docker.com/

3.3 Docker仓库地址:

Docker Hubhttps://hub.docker.com/

4 虚拟化技术和容器化技术

4.1 虚拟化技术

  • 启动耗时长
  • 冗余步骤多
  • 资源占用多,虚拟出一堆硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件

4.2 容器化技术

容器化技术实际上是一种轻量级的虚拟化技术。只不过相对于VM,属于进程级别的隔离。它具备以下特点:

  • 更便捷快速的交互和部署(打包镜像发布测试,一键运行)
  • 更快的启动速度,容器内的应用直接运行在宿主机的内部,容器是没有自己的内核的,也没有虚拟硬件。
  • 更高效的计算机资源利用
  • 每个容器间是相互隔离的,每个容器内都有一个属于自己的文件系统,互不影响

4.3 DevOps(开发、运维)

(1)应用更快速的交互和部署:

传统:一堆帮助文档,安装各种程序

Docker:打包发布镜像,一键运行

(2)快捷的升级和扩缩容

使用了docker之后,我们部署就和搭积木一样,是一层一层的!

项目打包为一个镜像之后,我们可以进行扩展 服务器A!服务器B!

(3)更简单的系统运维

在容器化之后,我们的开发、测试环境都是保持高度一致的。

(4)更高效的计算机资源利用

Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例!服务器的性能可以被压榨到极致!

5 名词解释

5.1 镜像(image)

Docker镜像好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run===>tomcat01容器,通过这个镜像我们可以创建多个容器(最终服务运行或者项目运行都是在容器中进行的)。

5.2 容器(container)

  • Docker利用容器技术,可以独立运行一个或者一组应用,容器就是通过镜像来创建的。
  • 启动、停止、删除容器是基本命令
  • 我们可以把容器理解为一个新建的Linux系统

5.3 仓库(repository)

  • 仓库是用来存放镜像的地方
  • Docker Hub(镜像仓库)

6 阿里云镜像加速

(1)登录阿里云服务器,找到容器镜像服务

(2)找到镜像工具===>镜像加速器===>centos===>copy下面的命令

7 Docker安装步骤

官方安装参考手册https://docs.docker.com/engine/install/centos/

yum 安装 gcc相关环境(确保虚拟机可以上外网)

yum -y install gcc 
yum -y install gcc-c++ 

(1)卸载旧版本

yum remove docker \
               docker-client \
               docker-client-latest \
               docker-common \
               docker-latest \
               docker-latest-logrotate \
               docker-logrotate \
               docker-engine

(2)需要的安装包

yum install -y yum-utils

(3)设置镜像仓库

yum-config-manager \
	--add-repo \
	https://download.docker.com/linux/centos/docker-ce.repo  #默认是国外的
	
yum-config-manager \
	--add-repo \
	https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 推荐使用阿里云的,比较快
# 更新yum软件包索引
yum makecache fast

(4)安装docker docker-ce 社区版本 ee 企业版

yum install docker-ce docker-ce-cli containerd.io

(5)启动docker

systemctl start docker

(6)查看是否安装成功

docker version

(7)运行hello-world

docker run hello-world

(8)查看docker下面有哪些镜像(执行步骤7之后会有一个hello-world镜像)

docker images

(9)卸载docker

1)卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
2)删除资源
rm -rf /var/lib/docker        docker的默认工作路径
rm -rf /var/lib/containerd

8 回顾Docker执行hello-world 流程

运行流程图:

原文链接: https://blog.csdn.net/friggly/article/details/126153413

标签: #docker 18 #软件开发 1171
相关文章

万字:支付“核心系统”详解 2024-11-02 15:33

专栏作者:隐墨星辰 \| 主编:陈天宇宙 这篇文章也尝试化繁为简,探寻支付系统的本质,讲清楚在线支付系统最核心的一些概念和设计理念。 虽然支付行业已经过了风头最劲的时光,但跨境支付仍然在蓬勃发展,每年依然有很多新人进入这个行业,这篇文章尝试为这些刚入行的新人提供一点帮助。 文章只介绍一些支付行业十几

资深支付架构师视角:实战从问题定义到代码落地的完整套路 2024-11-02 15:33

前言 今天从一个实际案例入手,介绍站在架构师的角度,如何识别并定义问题,提炼需求,技术方案选型,再到详细设计,最后利用AI的能力协助写出核心的代码,验证与调优。 解决问题存在一定的模式,也可以称之为框架,总结出自己的思考和解题框架,以后再碰到同类型的问题就可以如庖丁解牛一样容易。 很多年前,我写代码

Spring 实现 3 种异步接口 2024-10-18 09:07

大家好,我是苏三~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地

重学SpringBoot3-集成Redis(五)之布隆过滤器 2024-10-08 11:24

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器? * 基本概念 适用场景 2. 使用 Redis 实现布隆过滤器 * 项目依赖 Redis 配置

设计模式第16讲——迭代器模式(Iterator) 2024-10-08 11:24

一、什么是迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 二、角色组成 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.