Docker学习:理论基础之Docker容器内部结构 | 容器在宿主机的默认存储位置

前言

本讲是从Docker系列讲解课程,单独抽离出来的一个小节,重点介绍:容器的内部结构,让你对容器有个较为深刻的认识,如果你对镜像的分层知识点重要),也表示感兴趣,点击这里

一、容器的构成

1.了解容器之前,首先要知道什么是镜像

类比于Windows操作系统iso安装镜像,它是只读的。通过ISO镜像安装完毕后,你进入的这个操作系统就是容器。镜像是只读的,容器的初始化依赖于镜像

2.docker官网,提供的镜像,里面都至少包含一个极小的迷你版linux内核

镜像版本不同,内部嵌套的服务套件也有所差异,比如Tomcat镜像,会自带JDK,至于是哪个版本的JDK,取决于下载的是哪个版本的Tomcat镜像如何选取镜像版本点击这里

以Tomcat镜像为例

镜像被pull下来后,docker run 运行容器,docker exec 进入容器内部,在容器内部你可以自由访问Tomcat 8080端口,访问任意目录,也可以使用 java -version 查看 jdk版本,也可以使用vi命令编辑文本,这一切都是镜像为你提前准备好的。你需要做的仅仅是pullrun、然后直接去使用它。

3.由此可以得知

一个Tomcat容器=linux内核+JDK+Tomcat服务

至于里面各种服务的版本取决于所选取Tomcat镜像的版本

二、实操容器,了解容器的使用

1.下载并启动指定版本的Tomcat

#service docker status 查看是否已启动
#service docker start 如果没有启动手动启动一下
#docker pull tomcat:8.5.46-jdk8-openjdk 下载指定版本镜像
#docker images 查看已下载镜像
#docker run -d -p 8000:8080 tomcat:8.5.46-jdk8-openjdk 启动指定容器(-d是后台静默运行 -p指定宿主端口:容器对外暴露的端口)

容器启动成功后,会返回容器的ID (容器存放根目录/var/lib/docker/containers/

  

2.进入Tomcat容器内部

#docker ps 查看容器ID
#docker exec -it 59293ad447f4 /bin/bash 根据容器id进入容器

进入容器后,可以看到默认目录就是 /usr/local/tomcat,这是Dockerfile中的WORKDIR在起作用,更多的Dockerfile使用技巧点击这里

1.尝试使用最基本命令ls 、ll

#ls 
#ll 可以明显发现,mini的linux不支持ll,只支持最基础的命令ls

  

2.查看linux的版本号

#uname -r 仅查看版本号
#cat /proc/version 查看版本详细信息

  

3.查看jdk版本 

#java -version 

  

当然,在容器中,你可以做很多操作,比如yum install -y vim,就好像操作单机linux一样。

3.容器在宿主机的默认存储位置

#exit 退出容器
#cd /var/lib/docker && ls  且换到宿主目录,查看容器在宿主目录的存储位置
#ls containers  查看容器列表(每个容器文件名称,就是容器ID),可以进一步点击进入查容器文件

 注意:不建议随意修改docker的默认存储位置。

三、总结

容器的内部介绍,就介绍到这里,是不是很Nice,和自己想的不一样?

镜像好比ISO文件,容器好比安装好的Windows操作系统,我们操作容器就像在操作一台独立的linux虚拟机一样,而ISO镜像安静的躺在某个角落里,想它的时候,docker images 命令把它拉出来查看一下

尾言

本讲内容是从 Docker入门到进阶里面抽离出来的内容,从而使原文更加有序、重点突出。如果感觉对你有帮助动动你的小手,点个赞吧~~,啦啦啦,啦啦啦~~

附注

你还可能对以下内容感兴趣,一起附注给爱学习的你

1、Linux环境下Docker的快速安装Windows10+专业版环境下安装Docker

2、如何获取Docker的最新版本 | 如何获取Tomcat/JDK/Nginx指定版本镜像

3、配置阿里云镜像加速器,提高镜像下载速度

4、Dockerfile八大核心命令 | Dockerfile构建自己的镜像

5、Docker容器 | Dockerfile优化

6、镜像的分层详解 | 容器和镜像的关系 | 写时复制与用时分配

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值