Dockerfile 是什么|学习笔记

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: 快速学习 Dockerfile 是什么

开发者学堂课程【Docker 快速入门Dockerfile 是什么】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/850/detail/14045


Dockerfile 是什么


内容介绍

一、回顾

二、Dockerfile 是什么

三、构建三步骤

四、文件什么样


一、回顾

Docker images ====>DockerFile

# volume test

FROM centos

VOLUME["/dataVolumeContainer1","/dataVolumeContainer2"]

CMD echo "finished,--------success1"

CMD /bin/bash

docker run-it-v/host1:/dataVolumeContainer1 -v/host2:/dataVolumeContainer2 centos /bin/bash

思考上节课用 dockerfile 写容器卷时主流步骤有哪些:

1.手动编写一个 dockerfile 文件,当然,必须要符合file的规范

2.有这个文件后,直接 docker build 命令执行,获得一个自定义的的镜像

3.run

最好必备 Linux 的基础,懂 git 和 maven 的理念梳理一下这三步的理念:

maven build

jar

java -jar ms.

有异曲同工之妙。


二、Dockerfile 是什么

Dockerfile 是用来构建 Docker 镜像的构建文件,是由一系列命令和参数构成的脚本。

TomcatRedis 的 dockerfilegit hub 的源码第一行都是由 from 开头的,而且关键字在最左面,红色,全大写


三、构建三步骤

-编写 dockerfile 文件

-Docker build 

-Docker run


四、文件什么样

以我们熟悉的 centos 为例——https://hub.docker.com/_/centos/

Docker images 是一种精简版的 centos,数值是200兆,但我们现在用的这个当前用的 centos6.8是3.8G 左右两 个centos 一个是真真正正的成为 centos6.8,另外一个是跑在 docker 容器里面的200兆大小的一个精简版的 centos

[root@atguigu ~]# pwd

/root

[root@atguigu ~]# docker images

image.png

[root@atguigu ~]#

下面来反推 centos 镜像的精简版的200多 MB 大小的 dockerfile 长什么样:

按顺序点击:

image.png

image.png

image.png

Supported tags and respective Dockerfile links

  • latest. centos7,7(docker/Dockerfile)
  • centos,6(docker/Dockerfile)
  • centos7.5.1804,7.5.1804(docker/Dockerfile)
  • centos7.4.17087.4.1708 (docker/Dockerfile)
  • centos7.3.1611,7.3.1611 (docker/Dockerfile)
  • centos7.2.1511,7.2.1511(docker/Dockerfile)
  • centos7.1.1503,7.1.1503 (docker/Dockerfile)
  • centos7.0.14067.0.1406 (docker/Dockerfile)
  • centos6.9.6.9 (docker/Dockerfile)
  • centos6.8.6.8(docker/Dockerfile)
  • centos6.7.6.7(docker/Dockerfile)
  • centos6.6.6.6(docker/Dockerfile)

假设我们用6.8:

11 lines (9 sloc)232 Bytes

FROM scratch

//centos 来自于 base scratch 基础镜像,是本源,俗称原镜像。

MAINTAINER The Centos Project <cloud-ops@centos.org> 

//maintainer:作者加邮箱

ADD c68-docker.tar.xz/

LABEL name="CentoS Base Image"\

vendor="Centos"\

license="GPLv2"\

build-date="2016-06-02"

#Default command10

CMD["/bin/bash"]

//自带 bin bash

//假设又加了一个:CMD["/bin/bash"]

docker run -it centos /bin / bash

image.png

相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
6月前
|
缓存 Shell Go
dockerfile笔记
dockerfile笔记
70 0
|
1月前
|
关系型数据库 MySQL Linux
DockerFile的介绍
Docker操作 (九)
|
6月前
|
Java Linux 开发工具
|
Linux 应用服务中间件 开发工具
dockerfile
dockerfile
105 0
|
Java Shell Linux
41-Dockerfile-Dockerfile简介
41-Dockerfile-Dockerfile简介
|
Go 容器
一文了解 Dockerfile 鲜为人知的一面
Hello folks,今天给大家介绍一下如何在 Dockerfile 中进行 Go 代码编写及运用(备注:此处暂不关注所部署的容器大小及性能问题)。
93 0
|
运维 Shell Linux
Dockerfile 深入理解
Dockerfile 深入理解
228 0
Dockerfile 深入理解
|
Docker 容器
Dockerfile笔记
照着写就行
111 0
Dockerfile笔记
|
运维 Java Shell
Dockerfile学习
Dockerfile学习笔记
|
存储 Java 应用服务中间件
DockerFile理解和使用
Dockerfile构建镜像是以基础镜像为基础的,Dockerfile是一个文本文件,内容是用户编写的一些docker指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 Dockerfile的基本指令有十三个,分别是:FROM、MAINTAINER、RUN、CMD、EXPOSE、ENV、ADD、COPY、ENTRYPOINT、VOLUME、USER、WORKDIR、ONBUILD
186 0
DockerFile理解和使用