企业—Docker的介绍、安装、docker的ADD,COPY等一些命令的介绍、Dockerfile的shell和exec格式介绍

1.什么是Docker?

在理解docker之前,外我们先来了解容器和虚拟机的概念

我们用的传统虚拟机如VMware,VisualBOX之类的需要模拟整台机器包括硬件,每台虚拟机都需要有自己的操作系统。
虚拟机一旦被开启,预分配给它的资源将全部被占用。
每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。

容器技术是和我们的宿主机共享软件资源及操作系统,可以实现资源的动态分配。
容器包含应用和所以的依赖包,但是与其他容器共享内核。
容器在宿主机操作系统中,在用户空间以分离的进程运行。

容器技术是实现操作系统虚拟化的一种途径,可以让您在资源受到隔离的进程中运行应用程序以及依赖关系。通过使用容器,我们可以轻松打包应用程序的代码,配置和依赖关系,将其变成容易使用的构建块,从而实现环境一致性。运营效率,开发人员生产力和版本控制等诸多目标。容器可以帮助我们保证应用程序快速,可靠,一致的部署,其间不受部署环境的影响。容器还赋予我们对资源更多的精细化控制能力,让我们的基础设施效率更高。通过下面的图片我们可以很直观的反应出这俩者的区别。

在这里插入图片描述
而Docker属于Linux容器的一种封装,提供简单易用的容器接口,它是目前最流行的Linux容器解决方案。而Linux容器是linux发展出了另一种虚拟化技术,简单来讲,Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离,相当于是在正常进程的外面套了一个保护层。对于容器里面的进程来说。它接触到的各种资源是虚拟化的,从而实现与底层系统的隔离。Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器,程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。总体来说,Docker的接口相当简单,用户可以方便的创建和使用容器,把自己的应用放入容器,容器还可以进行版本管理,复制,分享,修改,就像管理普通的代码一样。

2.Docker的安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.docker的一些参数介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
访问一下server1的80端口就可以看到game2048这个游戏。
在这里插入图片描述
在这里插入图片描述
解除上面的俩个警告:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们再来一个容器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上面可以看出容器它和快照很像,缺点是每一次的操作不能保存,相当于cow(copy on write)写时复制机制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面test:v1和busybox:latest有相同之处是使用了同一个镜像层,而test:v1比busybox:latest多了一个sh,这时因为咱们刚才新建了一个testfile文件,这个打包后的容器不能准确知道sh里面具体执行了什么内容,所以它是不安全的
在这里插入图片描述
官方推荐使用Dockerfile的方式来保存
在这里插入图片描述

mkdir docker ##建立这个目录
cd docker  ##进入这个目录
vim Dockerfile  ##编辑文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim Dockerfile  ##编辑Dockerfile

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们再来看一下add关键字
add和copy的作用差不多,只不过add在拷贝文件的同时也会解压文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据卷VOLUME关键字
在这里插入图片描述
在这里插入图片描述

docker run -it --name vm2 test:vm3  ##运行vm2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
WORKDIR工作目录参数、CMD命令、ENTRYPOINT命令

WORKDIR命令它用来指定ADD、COPY、RUN命令的工作目录,相当于我们平时用的cd 命令。
CMD、ENTRYPOINT命令都是用于容器启动后执行的命令,但是CMD命令会被docker RUN 后面接的命令所覆盖,而ENTRYPOINT命令不会被覆盖。

这里我们顺便来看一下Dockerfile的俩种格式,一种shell格式,一种exec格式。

cd docker ##进入docker目录
vim Dockerfile  ##编辑Dockerfile文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim Dockerfile  ##前面是shell格式我们再来编辑Dockerfile文件来试一下exec格式

在这里插入图片描述
在这里插入图片描述

vim Dockerfile  ##由于变量没有被解析,这里我们再来修改一下文件

在这里插入图片描述
在这里插入图片描述

vim Dockerfile

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值