本文介绍: Docker是一个快速交付应用、运行应用的技术:1.可以将程序及其依赖、运行环境一起打包为一个镜像可以迁移到任意Linux操作系统2.运行时利用沙箱机制形成隔离容器,各个应用互不干扰3.启动、移除都可以通过一行命令完成,方便快捷镜像是分层结构,每一层称为一个LayerDockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。1.Dockerfile的本质是一个文件,通过指令描述镜像的构建过程。
初识Docker
项目部署的问题
Docker如何解决依赖的兼容问题的?
将应用的Libs (函数库)、Deps (依赖)配置与应用一起打包
Docker如何解决不同系统环境的问题?
Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?
Docker如何解决开发、测试、生产环境有差异的问题?
总结
Docker与虚拟机
Docker和虚拟机的差异:
镜像和容器
Docker和DockerHub
docker架构
安装Docker
启动docker
配置镜像
使用Docker
镜像相关命令
镜像操作命令
案例:从DockerHub中拉取一个nginx镜像并查看
1.首先去镜像仓库搜索nginx镜像,比如DackerHub:
2.根据查看到的镜像名称,拉取自己需要的镜像
3.通过命令: docker images 查看拉取到的镜像
案例:利用docker save将nginx镜像导出磁盘,然后再通过load加载回来
容器相关命令
案例:创建运行一个Nginx容器
案例:进入Nginx容器,修改HTML文件内容,添加“传智教育欢迎您”
1.进入容器。进入我们刚刚创建的nginx容器的命令为
2.进入nginx的HTML所在目录 /usr/share/nginx/html
3.修改indexhtml的内容
数据卷
数据卷操作的基本语法如下:
数据卷的作用:
挂载数据卷
案例:创建一个nginx容器,修改容器内的html目录内的index.html内容
1.创建容器并挂载数据卷到容器内的HTML目录
2.进入html数据卷所在位置,并修改HTML内容
案例:创建并运行一个MySOL容器,将宿主机目录直接挂载到容器
数据卷挂载的方式对比
自定义镜像
镜像结构
什么是Dockerfile
案例:基于Ubuntu镜像构建一个新镜像,运行一个java项目
案例:基于java:8-alpine镜像,将一个Java项目构建为镜像
总结
什么是DockerCompose
CentOS7安装DockerCompose
DockerCompose有什么作用?
案例:将之前学习的cloud-demo微服务集群利用DockerCompose部署
1.查看课前资料提供的cloud-demo文件夹,里面已经编写好了docker-compose文件
2.修改自己的cloud-demo项月,将数据库、nacos地址都命名为docker-compose中的服务名
3.使用maven打包工具,将项目中的每个微服务都打包为app.jar
4.将打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中
5.将cloud-demo上传至虚拟机,利用 docker-compose up -d 来部署
Docker镜像仓库
常见镜像仓库服务
简化版镜像仓库
带有图形化界面版本
配置Docker信任地址
在私有镜像仓库推送或拉取镜像
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。