7、DockerFile

7、DockerFile

Dockerfile用来构建docker镜像的构建文件!命令脚本!

mkdir docker-test-volume #建立测试文件
vi dockerfile1 #建立脚本,生成镜像

#指令都是大写
FROM centos #来自镜像
VOLUME ["volume01","volume02"] #数据卷目录,匿名挂载
CMD echo "----end----" 
CMD /bin/bash #启动

#建立容器
docker build -f dockerfile1 -t cyyz/centos:1.0 . #进行构建

#发布镜像
docker push(DockerHub、阿里云仓库)

#查看卷挂载的路径,测试文件是否同步
7.1 DockerFile构建过程

基础知识

  1. 每个保留关键字都必须是大写字母
  2. 指令从上到下执行
  3. #表示注释
  4. 每一个指令都会创建一个新的镜像层,并提交!

dockerfile是面向开发的,发布项目需要编写dockerfile文件。

Docker镜像逐渐成为企业交付的标准

步骤:开发,部署,上线,运维…

DockerFile:构建文件,定义了一切的步骤,源代码。

Dockerimages:通过DockerFile构建生成的镜像,最终发布和运行的产品,原来是jar,war。

Docker容器:容器是镜像运行起来提供服务器

7.2 DockerFile 指令
FROM	#基础镜像,一切从这里开始构建
MAINTAINWER		#镜像是谁写的,姓名+邮箱
RUN 	#镜像构建的时候需要运行的命令
ADD 	#添加容器
WORKDIR 	#镜像工作目录
VOLUME 	#挂载位置
EXPOSE 	#暴露端口配置
CMD 	#指定容器启动的时候要运行的命令,只有最后一个会生效,可以替代
ENTRYPOINT 	#指定命令,可以追加命令
ONBUILD 	#等构建一个被继承DockerFile,这个时候就会触发运行此指令
COPY 	#将文件拷贝到镜像中
ENV 	#构建的时候设置环境变量
7.3 实战测试,构建自己的镜像

DockerHub 中镜像大部分来自scratch

创建一个自己的centos

#1、编写配置文件
FROM centos
MAINTAINER cyyz<1142515845@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----"
CMD /bin/bash

#2、构建镜像
docker build -f dockerfilecentos -t mycentos:1.0 . #-t 镜像名

#3、测试运行
docker attach 299a4f469cd1 #工作目录默认是根目录
docker history 镜像id 	#查看id镜像的操作历史
7.4 CMD和ENTRYPOINT的区别

cmd

#编写文件

From centos
CMD ["ls","-a"]

#构建镜像
docker build -f docker-cmd-test -t cmdcentostest .
#构建容器直接执行
docker run 镜像id

#替换掉-a
docker run 镜像id ls -al

entrypoint

#编辑文件
From centos
CMD ["ls","-a"]

#构建进行
docker build -f dockerfile-cmd-entrypoint -t entrypointtest .

#执行镜像
docker run 镜像id

#测试,追加命令
docker run 镜像id -l

Dockerfile中很多命令十分相似,需要了解他们的区别

image-20200610190458510


感谢狂神老师的视频支持点击跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值