首页 > 其他分享 >《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结

时间:2022-11-29 17:06:27浏览次数:64  
标签:进阶 Dockerfile 大厂 镜像 docker 解析 DockerFile 保留字


《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程

文章目录

  • ​​二、高级篇(大厂进阶)​​
  • ​​2.DockerFile解析​​
  • ​​2.1 是什么​​
  • ​​2.2 DockerFile构建过程解析​​
  • ​​2.3 DockerFile常用保留字指令​​
  • ​​2.4案例​​
  • ​​2.4.1自定义镜像mycentosjava8​​
  • ​​2.4.2 虚悬镜像​​
  • ​​2.5 小总结​​
  • ​​本人其他相关文章链接​​

二、高级篇(大厂进阶)

2.DockerFile解析

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_02

2.1 是什么

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_03

问题:DockerFile是什么?

​答案​​:Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。

2.2 DockerFile构建过程解析

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_05

  • ​Docker执行Dockerfile的大致流程​​​ (1)docker从基础镜像运行一个容器
    (2)执行一条指令并对容器作出修改
    (3)执行类似docker commit的操作提交一个新的镜像层
    (4)docker再基于刚提交的镜像运行一个新容器
    (5)执行dockerfile中的下一条指令直到所有指令都执行完成
  • ​小总结​
  • 《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_docker_06

2.3 DockerFile常用保留字指令

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_07


《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_08


​注意点1:​​ ENV-用来在构建镜像过程中设置环境变量

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_09

​注意点2:​​ ENTRYPOINT-命令格式和案例说明

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_10

​注意点3:​​ RUN-两种格式

  • ​shell格式​
  • 《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_11


  • ​exec格式​
  • 《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_12


​注意点4:​​ CMD-指定容器启动后的要干的事情

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_运维_13

​注意点5:​​ 小总结

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_14

2.4案例

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_docker_15

2.4.1自定义镜像mycentosjava8

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_16


​使用步骤:​​ 1)编写Dockerfile文件

2)构建:docker build -t 新镜像名字:TAG .

3)运行:docker run -it 新镜像名字:TAG

​注意点1:​​​ JDK的下载镜像地址,官网下载地址:​​https://www.oracle.com/java/technologies/downloads/#java8​

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_17


其他下载地址:​​https://mirrors.yangxingzhen.com/jdk/ ​

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_18

​注意点2:​​​ 执行命令创建目录:​​mkdir /myfile​​ -> ​​进入 /myfile目录​​ -> ​​准备编写Dockerfile文件​​,​​执行命令​​:​​vim Dockerfile​​ -> 大写字母D

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_19

FROM centos:7
MAINTAINER zzyy
ENV MYPATH /usr/local
WORKDIR $MYPATH
#安装vim编辑器
RUN yum -y install vim
#安装ifconfig命令查看网络IP
RUN yum -y install net-tools
#安装java8及lib库
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
EXPOSE 80
CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash

​注意点3:​​​​构建命令​​:​​docker build -t 新镜像名字:TAG .​

docker build -t centosjava8:1.5 .

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_容器_20


《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_21


​注意点4:​

问题:执行命令:docker build -t centosjava8:1.5 .可能会报错如图?

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_docker_22


​答案​​:尚硅谷视频安装的是Centos7环境,而你看红框显示Cnetos8进行下载,明显版本不匹配。

视频原配置为​​FROM centos​​​ 所以需要配置版本号Dockerfile的from命令为​​FROM centos:7​​,注意后面有版本号,而视频源代码为FROM centos。


​注意点5:​​​​运行命令​​:​​docker run -it 新镜像名字:TAG ​

docker run -it centosjava8:1.5 /bin/bash

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_23


​注意点6:​​ 再体会下UnionFS(联合文件系统)

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_24

2.4.2 虚悬镜像

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_docker_25


​注意点1:​

问题:虚悬镜像是什么?

​答案​​:仓库名、标签都是的镜像,俗称dangling image

​注意点2:​​ Dockerfile写一个虚悬镜像

1 vim Dockerfile
from ubuntu
CMD echo 'action is success'

2 docker build .

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile构建过程_26


​注意点3:​​​​虚悬镜像查看命令​​:​​docker image ls -f dangling=true​

命令结果

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_运维_27


​注意点4:​

​虚悬镜像删除命令​​:​​docker image prune​

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_28

2.5 小总结

《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结_Dockerfile解析_29

本人其他相关文章链接

1.​​《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群​​ 2.《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结
3.《docker高级篇(大厂进阶):3.Docker微服务实战》
4.《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
5.《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
6.《docker高级篇(大厂进阶):6.Docker轻量级可视化工具Portainer》
7.《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
8.docker基础篇:安装tomcat
9.docker基础篇:安装mysql单机版
10.docker基础篇:安装redis单机版
11.docker高级篇(大厂进阶):安装mysql主从复制
12.docker高级篇(大厂进阶):安装redis集群


标签:进阶,Dockerfile,大厂,镜像,docker,解析,DockerFile,保留字
From: https://blog.51cto.com/u_15896157/5896014

相关文章