开发者学堂课程【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 镜像的构建文件,是由一系列命令和参数构成的脚本。
Tomcat、Redis 的 dockerfile,git 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
[root@atguigu ~]#
下面来反推 centos 镜像的精简版的200多 MB 大小的 dockerfile 长什么样:
按顺序点击:
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