DockerFIle再回顾
dockerfile是用来构建docker镜像文件的,命令脚本
构建步骤
1、编写一个dockerfile文件
2、docker build 构建成为一个镜像
3、docker run 运行镜像
4、docker push 发布镜像(DockerHub、阿里云镜像仓库)
查看一下官方怎么做的
进入HubDocker找到centos
点击centos7版本会跳转到git 然后会出现如下信息
FROM scratch ##最基本的 ADD centos-7-x86_64-docker.tar.xz / ##加入centos7 LABEL \ org.label-schema.schema-version="1.0" \ org.label-schema.name="CentOS Base Image" \ org.label-schema.vendor="CentOS" \ org.label-schema.license="GPLv2" \ org.label-schema.build-date="20201113" \ org.opencontainers.image.title="CentOS Base Image" \ org.opencontainers.image.vendor="CentOS" \ org.opencontainers.image.licenses="GPL-2.0-only" \ org.opencontainers.image.created="2020-11-13 00:00:00+00:00" CMD ["/bin/bash"]
这个官方镜像会非常纯净,没有很多功能,需要自己搭建自己熟悉的环境
官方可以做镜像我们当然也可以
Dockerfile构建过程
基础知识
1、每个指令必须是大写字母
2、执行从上到下依次进行的顺序
3、#表示注释
4、每个指令都会创建提交新的镜像层,并提交
dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单!
Docker镜像逐渐称为企业交付的标准,必须要掌握
DockerFile:构建文件,定义了一切的步骤,如同源代码
DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品
Docker容器:镜像运行起来,提供服务器
DockerFile指令
FROM ##基础镜像,起始地方 MAINTAINER ##镜像是谁写的,姓名+邮箱 RUN ##镜像构建的时候需要运行的命令 ADD ##步骤:tomcat镜像,需要tomcat压缩包,添加内容 WORKDIR ##镜像的工作目录 VOLUME ##挂载的目录 ECPOSE ##端口配置 CMD ##指定容器启动时运行的命令,只有最后一条生效,可以被替换 ENTRYPOINT ##指定容器启动时运行的命令,可以追加命令 ONBUILD ##当构建一个被继承的DockerFile 这个时候会触发运行这个指令 COPY ##类似ADD,将目录文件拷贝到镜像 ENV ##构建的时候设置环境变量
实战测试
DockerHub中99%的镜像都是从scratch来的,然后配置需要的软件配置
创建一个自己的镜像(迫切想知道)
首先定义好自己的DockerFile文件,放在那里自己定。如:
##编写dockerfile文件 ##通过vim 文件名创建内容如下 FROM centos MAINTAINER GANG<123123@.qq.com> ENV MYPATH /usr/local WORKDIR $MYPATH RUN yum -y install vim RUN yum -y install net-tools EXPOSE 80 CMD echo $MYPATH CMD echo "---end---" CDM /bin/bash ##通过文件构建镜像 ##前面学过 docker build -f dockerfile文件名 -t 描述镜像:版本 -v 挂载相应路径(分为匿名与具名挂载). docker build -f mydockerfile -t mycentos:1.0 . ##通过查看镜像 docker images ##查看镜像历史分析 docker history 对比原生的centos相关命令 pwd ll ifconfig