Docker详细介绍(5)

一、DockerFile

Dockerfile用来构建一个镜像,通过分层的方式一层一层的叠加

DockerFile命令解析:

Dockerfile指令

指令介绍

FROM

Dockerfile除了注释第一行必须是FROM,FROM后面跟镜像名称,代表我们要基于哪个基础镜像构建我们的容器

RUN

RUN后面跟一个具体的命令,类似于Linux命令执行命令

ADD

拷贝本机文件或者远程文件到镜像内

COPY

拷贝本机文件到镜像内

USER

指定容器启动的用户

ENTRYPOINT

容器的启动命令

CMD

CMD为ENTRYPOINT指令提供默认参数,也可以单独使用CMD指定容器启动参数

ENV

指定容器运行时的环境变量,格式为key=value

ARG

定义外部变量,构建镜像时可以使用build-arg<varname>=<value>的格式传递参数用于构建

EXPOSE

指定容器监听的端口,格式为[port]/tcp或者[port]/udp

WORKDIR

为Dockerfile中跟在其后的所有RUN、CMD、ENTRYPOINT、COPY和ADD命令设置工作目录

备注:

(1)CMD和ENTRYPOINT的区别

        在docker run [contain_id]后面添加命令的时候CMD是替换,ENTRYPOINT是追加,运行的时候不追加命令它们两个没什么区别

(2)DockerFile示例:发布springboot项目

        1)打包成一个jar包

        2)把jar包放到dockerfile放到某个同级目录下

        3)运行build命令。命令:docker build -f [dockerfile path] -t [image name] . 。例子:

docker build -t test:1.0 .

二、Docker容器数据卷

2-1、容器数据卷是什么

        docker容器在产生数据的时候,如果不通过docker commit生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除之后,数据自然而然的也会消失。为了能保存数据,容器中引用了数据卷的概念。

2-2、容器数据卷的作用以及特点

(1)作用:

        卷就是目录或者文件,存在一个或者多个容器之中,由docker挂载到容器,但是不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或者共享数据的特性。

        卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此docker不会再容器删除时删除其挂载的数据卷。

(2)特点:

        1)数据卷可在容器之间共享或者重用数据。

        2)卷中的更改可以直接生效。

        3)数据卷中的更改不会包含在镜像的更新中。

        4)数据卷的生命周期一直持续到没有容器使用它为止。

2-3、使用数据卷

使用数据卷命令-v :

1)指定路径挂载
-v  /宿主机路径:容器内路径

2)匿名挂载
-v  容器内路径

3)具名挂载
-v  卷名:容器内路径

2-3-1、指定路径挂载

docker run -it -v 主机目录:容器目录 /bin/bash

2-3-2、匿名挂载

我们首先使用匿名挂载的命令启动一个容器。

docker run -d -P --name=nginxt01 -v /etc/nginx nginx

2-3-3、具名挂载

具名挂载就很简单了,跟我们之前演示的指定路径挂载很相似。

同样,我们使用具名挂载的方式启动一个容器。

docker run -d -P --name=nginxt02 -v jumingguazai:/etc/nginx nginx

备注:

(1)查看所有卷的情况

docker volum ls

(2)找到挂载点

docker inspect ID | less

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun cat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值