Dockerfile解析

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

1手动编写一个dockerfile文件,必须符合file规范
2.有这个文件后,直接docker build命令执行,获得一个自定义的镜像
3.run执行镜像

在这里插入图片描述

保留字指令:

From ----------基础镜像,当前镜像是基于哪个镜像
MAINTAINER ----------镜像维护者的姓名和邮箱地址
RUN ----------容器构建时需要运行的命令
EXPOSE ----------当前容器对外暴露的端口
WORKDIR ----------容器创建后一进来是哪个目录下
ENV ----------构建镜像过程中的环境变量
在这里插入图片描述

ADD ----------将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY ----------类似ADD,将源文件的位置从一个地方复制到一个地方
在这里插入图片描述

VOLUME ----------容器数据卷,用于数据保存和持久化
CMD ----------1.指定一个容器启动时要运行的命令,2.Dockerfile中可以有多个cmd命令,但只有最后一个生效,cmd会被docker run 后面的参数替换
在这里插入图片描述
后面的ls会取代tomcat启动过程
ENTRYPOINT ----------1.指定一个容器启动时要运行的命令,entrypoint不会被docker run 后面执行的 /bin/bash覆盖
ONBUILD ----------当构建一个被继承的dockerfile时运行命令,父镜像在被子继承后,父镜像的onbuild被触发。
在这里插入图片描述
1.编写一个dockerfile,默认路径改变不是根路径,支持vim和ifconfig命令。

from centos
env mypath /tmp
workdir $mypath
run yum -y install vim
run yum -y install net-tools
expose 80
cmd /bin/bash

from centos
maintainer lijie<925028680@qq.com>
env mypath /tmp
workdir $mypath
run yum -y install vim
run yum -y install bet-tools
expose 80
cmd echo $mypath
cmd echo "success-------------ok"
cmd /bin/bash

构建

docker build -f /mydataValue/dockerfiletest1 -t mycentos:1.3 .

重点重点***********************************************

在用之前端口指定端口映射的时候启动类jar包,但是端口还是关闭的,之前的命令是docker run -p 8000:80 -it 镜像的名字 /bin/bash,要改成下面这样的。

docker run -it --network=host 镜像名字  /bin/bash
nohup java -jar app3.jar > /var/log/java/app3.log 2>&1 &   //这是运行一个jar包,保证jar包一直运行在虚拟机上,不会因为关了虚拟机就停止,重启的时候就会关闭

查看某个jar的信息:ps aux|grep springapi-1.jar

关闭指定的jar:kill -9 5173  其实就是退出进程罢了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值