Docker学习笔记01
狂神B站视频链接:https://www.bilibili.com/video/BV1og4y1q7M4
Docker学习
-
Docker的概述
-
Docker的安装
-
Docker的命令
-
镜像命令
-
-
操作命令
-
。。。
-
-
Docker镜像
-
容器数据卷
-
DockerFile
-
Docker网络原理
-
IDEA整合Docker
-
Docker Compose\'
-
Docker Swarm
-
CI\CD Jenkins
Docker概述
Docker为什么会出现?
开发--线上,应用环境和业务环境--》自己的环境
需要各种环境配置
发布项目(包括各种环境),项目和环境一起打包迁移。
有些开发环境与其他环境不能跨平台。
传统:jar包--》运维去部署
现在:开发--打包部署上线,一套流程做完。
Docker解决上面带来的问题
java-- apk -- 发布(应用商店) --使用APK --安装即可
java --jar (环境)-- 打包项目带上环境(镜像)--(Docker仓库:商店)--下载我们发布的镜像--直接允许即可(镜像机制)
Dockerd的思想就来自于集装箱!
JRE-- 多个应用(端口冲突)--原来都是交叉的
隔离:Docker的核心思想!打包装箱!每个箱子都是相互隔离的
Docker通过隔离机制,可以将服务器利用到极致.
本质:所有的技术都是因为出现了问题,我们需要去解决,漕渠学习
Docker的历史
2010,几个IT年轻人,成立一家dotCloud
做一些pass的云计算服务!LXC有关的容器技术!
Vmware的应用--笨重--
他们将自己的技术(容器化技术)命名, 就是Docker!
Docker刚刚诞生的时候并没有引起行业的注意,dotCloud!--活不下去
开源
开发源代码
2013年,Docker开源
Docker越来越多的人发现的Docker的优点! 火力,Docker每个月都会更新一个版本.
2014年4月9号,Docker 1.0发布!
Docker为啥这么火, 十分轻巧
在容器技术出来之前,我们使用的都是虚拟机技术.
虚拟机:在windows中装一个Vmware,通过在这个软件上虚拟出来一个单独的电脑!相当与一个真实的电脑!笨重!
虚拟机也是一种虚拟化技术,Docker容器技术,也是虚拟化技术
VM:linux centos原生镜像(一个电脑) 隔离,需要开启多个虚拟机 几个G 几分钟 docker:隔离,镜像(最核心的环境 4m+jdk + mysql )十分的小巧,运行镜像即可 小巧 各个M KB 秒级启动
聊聊Docker
Docker 是基于GO语言开发的,开源项目
Docker可以做什么
之前的虚拟机:
缺点:
资源占用非常多
冗余步骤多
启动很慢
容器化技术
比较Docker和虚拟机技术的不同
传统的虚拟机,虚拟出来一套硬件,运行一个完整的操作系统,软后在系统上安装和运行软件
容器内的应用直接运行在 宿主机上,容器是没有自己的内核,也没有虚拟的我们的硬件,所以就轻便了
每个容器间,是相互隔离的,每一个容器都有一个属于自己的文件系统,互不影响
DevOps(开发 运维)
应用跟快速的交付和部署
传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
跟边界的升级和缩容
使用Docker之后,我们部署应用就像搭积木一样
项目打包一个镜像,扩展 服务器A 服务器B
更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度是一致的
跟高效的计算资源利用
Docker是 内核级别的虚拟化,可以在一个物理机上可以运行很多个容器实例,服务器的性能可以被压榨到极致
Docker的安装
Docker的基本组成
镜像(image):
docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像>run>tomcat01容器(提供服务的),通过这个镜像可以创建多个容器(最终服务运行或者项目就在容器中运行)
容器(container)
Docker利用容器技术,独立运行一个或者多个组应用,通过镜像来创建
启动,停止,删除,基本命令
目前就可以把这个容器理解为一个简单的Linux系统
仓库(repositor)
仓库就是存放镜像的地方!
仓库分为共有仓库和私有仓库
Docker Hub(默认是国外的)
阿里云...都有容器服务器(配置镜像加速 ! )
安装Docker
环境的准备
-
需要会一点点的Linux基础
-
Centos的基础
-
使用MobaXterm连接服务器进行操作!
环境的查看
# 系统的内核是3.10以上的
[root@localhost ~]# uname -r 3.10.0-327.el7.x86_64
#系统的版本 [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
安装
帮助文档:https://docs.docker.com/engine/install/centos/
安装文档:https://blog.csdn.net/weixin_39477597/article/details/87715899
确定是Centos7以上的版本
yum安装gcc环境(需要确保虚拟机可以上外网)
yum -y install gcc yum -y install gcc-c++
#Step1.检查是否安装过 docker :yum list installed|grep docker #使用命令 yum -y remove docker-ce.x86_64 卸载 #删除存储目录 # rm -rf /etc/docker # rm -rf /run/docker # rm -rf /var/lib/dockershim # rm -rf /var/lib/docker #Step2. 使用命令 uname-r 检查centOs的内核版本 docker要求centOs的内核版本在3.10 以上 #Step3. 移除旧版本:sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine #Step4. 安装必要的系统工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #1.卸载旧的版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine #2.需要安装的安装包 sudo yum install -y yum-utils #3.设置镜像的仓库(国外) sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #默认是国外的 sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐使用国内的镜像资源.比较快 #建议事先 更新yum 的软件包的索引 [root@localhost ~]# yum makecache fast #4.安装docker相关的引擎 docker-ce 社区 ee企业版 sudo yum install docker-ce docker-ce-cli containerd.io #安装docker-ce : sudo yum -y install docker-ce #5.启动Docker sudo systemctl start docker #6.使用Docker version来测试是否启动成功 docker version
# 加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-\'EOF\' { "registry-mirrors": ["https://8y3ymul4.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
#7.hello-world docker run hello-world
#8.查看一下 下载的这个hello-world镜像
用Ubuntu或者kali安装docker
在unbuntu上面安装docker很简单,首先确保自己的linux内核是3.10以上的版本;
输入命令查看内核版本
┌──(root