目录
docker📚!!!
一、docker 概述
1.1 docker出现的原因?
一款产品的发布需要经历:开发——>测试——>运维等各个环节,为了避免在开发阶段代码可以
运行,而在其他环节因为环境配置有误导致代码不可运行的情况;
环境配置本身就麻烦,对于集群(redis、hadoop等)来说,每个机器都要部署环境,工作量大
大增加,并且不可跨平台;
docker对于以上问题进行了解决:将【代码+环境】进行打包成镜像,开发人员下载即可用;
docker思想来自于集装箱,将所有东西打包📦装箱,每个集装箱是相互隔离的,可以将更加高效的使
用服务器;
1.2 docker的历史
docker是一个容器化技术的产物,用go语言写的开源软件;
在容器化技术出来之前,我们使用的是虚拟机技术【vmware】,配置的时候配置真实的硬件及软件资源,占用内存高,启动也十分笨重,docker的话打包镜像,占用内存小,启动也十分轻
便;
docker官网:https://www.docker.com
docker文档地址:https://docs.docker.com
dockerhub:https://www.docker.com/products/docker-hub/
1.3 docker的作用
虚拟技术和容器技术比较:
虚拟技术:模拟一个完整的操作系统,布局如下:
有以下几个缺点:1. 资源占用十分多; 2. 配置麻烦; 3. 启动慢;
容器化技术:构建镜像,不模拟完整的操作系统,布局如下:
Docker和 虚拟机技术的不同:
传统虚拟机,虚拟出—条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件;
容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了;
每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响。
DevOps(开发、运维)
应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
更便捷的升级和扩缩容
使用了Docker之后,我们部署应用就和搭积木一样!
项目打包为一个镜像,扩展 服务器A!服务器B
更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的。
更高效的计算资源利用:
Docker 是内核级别的虚拟化,可以再一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。
二、docker安装
2.1 docker基本组成
镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务;
比如:tomcat镜像===> run命令 ==> tomcat01 容器(提供服务器),
通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器(container):
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。
容器都可以通过基本命令来 启动,停止,删除!
目前就可以把这个容器理解为就是一个简易的linux系统
仓库(repository):
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!
Docker Hub(默认是国外的)
阿里云⋯都有容器服务器(配置鏡像加速!)
2.2 docker安装
2.2.1 环境准备
- 连接云服务器【centos7版本】
- 系统内核是 3.10 以上
查看系统内核在 3.10 以上 uname -r
系统版本在 centos7 以上 cat /etc/os-release
2.2.2 安装 与 卸载
按照docker帮助文档:https://docs.docker.com/engine/install/centos/ 操作即可
docker run hello-world
操作不成功,可以按照以下文档:
Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request cancele 报错 - cn2024 - 博客园
安装完成后可在此查看:
卸载的时候分为两步:
1. 卸载依赖;
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
2. 删除资源;
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
2.2.3 设置镜像加速器
docker镜像是在外网的,下载十分慢,配置加速器可以快点;
对应的云按照对应的文档,以下是华为云的:
设置镜像加速器_容器镜像服务 SWR_华为云