一、什么是docker 镜像
docker 镜像介绍
镜像与容器的关系
二、列出docker 镜像
三、拉取镜像
从docker hub拉取
ustc镜像源(推荐)
四、查找镜像
五、构建镜像
安装 tomcat
1、先安装centos
2、创建交互式容器
一、什么是docker 镜像
==============
docker 镜像介绍
操作系统分为内核和用户空间,对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
docker 镜像默认存储在:/var/lib/docker/目录下
镜像与容器的关系
镜像(image)和容器(container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立宿主的系统下操作一样。这种特性使容器封装的应用比直接在宿主运行更加安全。
前面讲过镜像使用的是分层储存,容器也是如此。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,可以称这个味容器运行时读写而准备的存储层为容器存储层。
容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。
按照Docker最佳实践的要求,容器不应该向其存储层写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(volume)、或者绑定宿主目录,在这些位置的读写会跳过存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。
数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此,使用数据卷后,容器删除或者重新运行之后,数据却不会丢失。
二、列出docker 镜像
=============
先启动docker
systemctl restart docker.service
列出docker 镜像
docker images
三、拉取镜像
======
从docker hub拉取
从Docker Hub中拉取镜像时,常会出现以下问题:
解决方案:
docker 从 docker hub 拉取镜像,因为是从国外获取,速度较慢。可以通过配置国内镜像源的方式,从国内获取镜像,提高拉取速度。
ustc镜像源(推荐)
配置
cd /etc/docker
vi daemon.json
复制保存
{
“registry-mirrors”: [“https://docker.mirrors.ustc.edu.cn”]
}
重启docker服务
systemctl restart docker.service
拉取centos镜像
docker pull centos
拉取成功后,查看
docker images
第三方镜像如何使用说明
https://hub.docker.com/search?type=image
文档里有详细说明如何使用
===========================================================================================================================================================================================================
四、查找镜像
======
docker search tomcat
NAME:镜像名
DESCRIPTION:镜像描述
STARS:用户评价,数值越高越受欢迎
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由docker hub自动构建流程创建的;
五、构建镜像
=======
安装 tomcat
1、先安装centos
列出docker 镜像
docker images
已经有了,就不需要再安装,如果没有,则安装centos
docker pull centos
2、创建交互式容器
docker run -i -t --name=mycentos centos
注:
这两个参数(-i, -t)是啥意思
| Options | Mean |
| — | — |
| -i | 以交互模式运行容器,通常与 -t 同时使用; |
| -t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
进入容器里面
安装JDK
yum install java-1.8.0-openjdk* -y
安装成功
设置环境变量
centos8 通过yum安装Java后,查看Java安装路径
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java
vi /etc/profile
在文件最下方粘贴以下内容后保存
注意:JAVA_HOME后面,是你实际的安装路径!
export JAVA_HOME=/usr/local/jdk-xxxx
export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : JAVA_HOME/jre/lib/rt.jar: JAVAHOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
生效命令:source /etc/profile
测试命令:java -version
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/7ef1a62a9a93dafb30ee6ec46dce7f32.jpeg)
最后
每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。
如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)**
![img](https://img-blog.csdnimg.cn/img_convert/7ef1a62a9a93dafb30ee6ec46dce7f32.jpeg)
最后
每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。
如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。
[外链图片转存中…(img-v05t1vtS-1713340569088)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!