Docker系列01_Docker介绍+安装

简介: 发布项目的时候,带上环境一起发布,而不是只有一个jar包。Docker就是能够是项目在发布的时候,带上环境一起发布,比如:( jar+(Redis,ES,Hadoop…))现在:开发打包部署上线,一套流程做完。

一、Docker概述



1、Docker为什么会出现?


发布项目的时候,带上环境一起发布,而不是只有一个jar包。

Docker就是能够是项目在发布的时候,带上环境一起发布,比如:( jar+(Redis,ES,Hadoop…))

现在:开发打包部署上线,一套流程做完。

Docker的解决流程:

Java — jar(环境)— 打包项目带上环境(镜像)— (Docker仓库:商店)— 下载我们发布的镜像 — 直接运行即可。

Docker思想:通过隔离机制,提供服务器的利用率。

Docker:相对于虚拟机来来说,十分的轻巧,只有一些最核心的环境。

Docker:是基于Go语言开发的。


2、Docker能干嘛?


容器化技术:不是一个完整的操作系统。容器包括运行环境和应用,是直接运行在操作系统之上,可以充分的利用操作系统的资源。

比较虚拟机技术与Docker的不同:

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件。
  • Docker,容器内的应用直接运行在宿主机上,容器没有自己的内核,也没有虚拟我们的硬件,所以较为轻便。且每个容器之间是相互隔离的。

359e8da1c6d24013ac02254c3bbb9656.png

89b0ccbcbcf2439d8df114b3c5ea6828.png


3、DevOps(开发、运维)


应用更快速的交付和部署

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

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


更便捷的升级和扩缩容

使用Docker之后,我们的部署就像搭积木一样

项目打包为一个镜像,扩展服务器

更简单的系统运维

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

更高效的计算资源利用

Docker是内核级别的虚拟化,可以在一个物理机上面运行很多容器实例


二、Docker的安装



1、Docker的基本组成

4c2c8c2925e943e6bb1ef88b46999bc1.png


镜像:Docker镜像就好比一个模板,可以通过这个模板来创建容器服务。tomcat镜像–》run–>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务器运行或者项目运行就在容器中的)。

容器:Docker利用容器技术,独立运行一个或一组应用,通过镜像来创建。可以把这个容器理解为一个简单的linux系统。

仓库:存放镜像的地方。分为共有仓库和私有仓库。


2、Docker的安装(Ubuntu)


Docker官方安装在ubuntu上


安装官方最新版本Docker:

先卸载旧版本:

sudo apt-get remove docker docker-engine docker.io containerd runc

升级apk工具以支持https库:

 sudo apt-get update
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

添加官方的GPG秘钥:

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

安装Docker:

sudo apt-get update
 sudo apt-get install docker-ce docker-ce-cli containerd.io

安装成功后查看版本:

docker -v

b997cc21a9a449a896ec8f5763fe92de.png

验证安装状态:

 sudo docker run hello-world

db88e97133ea4475bfda489185f38d92.png

查看一下这个hello world镜像:

docker images

e51406214088466eb53692e1af424209.png


3、Docker的卸载


卸载依赖:

 sudo apt-get purge docker-ce docker-ce-cli containerd.io

删除资源:

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

其中/var/lib/docker是Docker默认的工作路径


三、Run流程和Docker原理



1bb140bf992043d89d06026bd3b79d2b.png

1、Docker底层原理


Docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上面,通过Socket从客户端访问。

DockerServer接受到Docker-Client的指令,就会执行这个命令。

857fab3244af445b8daa236bb6cafa69.png


Docker为什么比VM快?

1、Docker有着比虚拟机更少的抽象层

9d0a794afedc40d4be3e4398e76faced.png


2、docker利用的是宿主机的内核,VM需要的是Guest OS。

因此新建一个容器的时候,docker不需要向虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别,而docker是秒级的。


相关文章
|
1天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
37 24
|
2天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
47 24
|
29天前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
947 2
【最新版正确姿势】Docker安装教程(简单几步即可完成)
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
523 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
563 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1月前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
98 2
|
2月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
156 1
Window系统安装Docker
|
2月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
117 0
Docker安装Mosquitto
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
70 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
44 3