| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Docker2——数据卷、创建镜像、仓库搭建 -> 正文阅读 |
|
[系统运维]Docker2——数据卷、创建镜像、仓库搭建 |
数据卷(volume)数据卷是一个虚拟目录,指向宿主机文件系统中的某个目录,这里感觉很难解释,直接引用黑马教程的视频截图,感觉很详细 ?如上图所示,通过创建数据卷,作为一个中间人,来分别对应容器和系统文件里的配置文件,当修改文件系统里的文件被修改时,容器里对应的文件也会被修改,同理修改容器文件时,系统文件里的内容也会被修改,所有的操作都是通过连接数据卷来实现的 每创建一个数据卷,都会在系统文件/var/lib/docker/volumes目录下创建对应的数据卷目录,比如上图创建了一个html数据卷,就在/var/lib/docker/volumes目录下创建了一个/html目录 数据卷作用
常用命令docker volume[command]?? 数据卷命令都是以docker volume?开头,后面接具体的命令操作
挂载数据卷挂载数据卷就是在创建容器时将容器里的某个文件和数据卷对应起来,完成数据卷的挂载,举例如下: 创建一个nginx容器,镜像可以去官网下载,然后我们通过挂在数据卷,修改index.html文件
?这时候我们就不需要像以前那样去容器内部修改文件了,直接在外部使用vi index.html?命令修改文件 修改后保存退出,然后访问ip自己设置的ip,效果如下? 目录挂载?还有一种方式是直接自定义目录或者文件与容器内的指定目录或文件相对应,我们称之为目录挂载
总的来说数据挂载耦合度低,并且直接交给docker管理,缺点是docker管理目录,目录较深不好找 目录挂载耦合度高,需要我们自己管理目录,不过目录容易寻找查看 镜像结构,镜像是分层结构,每一层成为一个Layer
自定义镜像步骤在创建镜像之前,首先对Dockerfile进行介绍,dockerfile就是一个文本文件,其中包含一个个的指令,阿斯顿用指令来说明要执行什么操作来构建镜像,每一个指令都会形成一层Layer,文件内容如下:
java:8-alpine镜像该镜像把dockerfile文件里的配置变量以及安装jdk等步骤都已经完成了,所以我们可以直接使用该镜像来简化步骤,编辑dockerfile如下
这样做可以简化一些构建镜像时的重复步骤 DockerComposeDocker Compose可以基于Compose文件帮我们快速的部署分布式应用,无需手动一个个的创建和运行容器。? ?Compose是一个文本文件,通过指令定义集群中的每个容器如何运行 具体网上查询,挺复杂的,先有个概念,用到的时候再去看 Docker镜像仓库镜像仓库分为公有和私有两种: 公共仓库:比如DockerHub、阿里云镜像服务等 私有仓库:用户本地自己搭建的镜像仓库 搭建本地仓库方式有两种:
上传和下载镜像到私有仓库上传:??
因为我创建的是非图形化界面,所以即使访问私有仓库后也不可见,效果如下 ?但实际上我可以把刚才的镜像给拉取下来,证明了我是上传成功了的 拉取命令
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 8:17:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |