初学Docker的笔记

        一.使用docker是为了解决什么问题?

        解决依赖的兼容问题:如mysql在ubuntu(属于一种应用程序,对linux的指令进一步进行封装)和centos上的函数库和依赖肯定不同,尽管两者的内核都是linux。

        解决的方法:将用户程序和所需要调用的系统(如ubuntu)函数库一起打包

        图像描述如下:        

                   

二.docker的原理?

        2.0: docker 的常用概念

                镜像:Dcoker将应用程序以及所需的依赖,函数库,环境,配置文件打包在一起,称为镜像。

                容器:镜像运行后形成的进程就是容器,Docker会利用linux的手段给容器做隔离,类似于沙箱。

                 DockerHub:Docker镜像的托管平台,也称为Registry。

                数据卷:是一个虚拟目录,指向宿主机文件系统中的某个目录,为了解决容器于数据耦合的问题,具体问题如下:

                数据卷、主机、容器之间的关系如下图:

         2.1:dockers的架构的图文描述

                

三.docker的安装和配置

......

四.docker的使用以及命令?

*docker help查看所有命令

      镜像的相关命令:涉及构建,加载,拉取,推送,查看

      容器的相关操作:运行(注意点:1.端口映射),暂停,停止,查看(包括:容器的运行日志;所有运行的容器的状态)

        数据卷相关命令:如增删改查

                docker volumn inspect html:查看html数据卷的详细信息,其中重要的是该数据卷在centos中的实际位置。

                ***数据卷的挂载,具体如下

                ***宿主机目录(文件)直接挂载到容器的目录(文件),特点:可以自己设置细节,而不让数据卷自己管理

五.自定义镜像

         mysql的镜像结构(分层是为了能够复用,除了上下两层可以确定,中间的设计不确定了)如图所示:

Dockerfile实现自定义镜像

六.docker的实战?

        eg1:进入Nginx容器,修改HTML文件内

两种方法:1.直接进入容器内进行修改;2.先进行数据的挂载,在数据卷中进行修改

若是想找到nigx对应的真实目录,只有编写该nginx镜像的作者知道,需要查看说明文档

        eg2:操作mysql容器,将宿主机目录直接挂载到容器,详细操作如下图

mysql中需要修改操作的两个目录:data目录和conf目录,只需要挂载这两个即可,详细命令如下图:

   注:在centos中mysql的配置文件是分散的,因为mysql的配置文件比较复杂,有时我们只挂载一部分配置文件到宿主机中,剩下的继续使用sql容器中的配置。conf.d一般用来防止扩展的配置,需只要该目录下的配置文件是以.d结尾,就可以被mysql扫描到。        

以上内容是对黑马对应课程和资料的个人总结,仅为个人笔记,可能存在部分偏差!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值