dockerfile参数详解

  1. FROM

    1. 新镜像基于哪一个镜像,指向一个已经存在的景象,例如tomcat 基于的镜像是 amazoncorretto:8

  2. MAINTAINER

    1. 作者的名字与邮箱,没啥意义

  3. RUN

    1. 容器构建的时候运行的命令

    2. 两种格式 shell 和 exec

    3. shell 例如安装一个 vim, RUN yum -y install vim

    4. exec 例如 RUN ["可执行文件","参数1","参数2"],如 RUN ["./test.php","dev","offline" ]等价于 RUN ./test.php dev offline

  4. EXPOSE

    • 当前容器暴漏的端口

  5. WORKDIR

    • 指定登录容器后目录位置

  6. USER

    • 指定用户以什么样的用户执行,一般不用

  7. ENV

    • 环境变量,key value形式,一般和WORKDIR搭配用

  8. ADD

    • 将宿主机上的文件拷贝进容器镜像且回自动处理URL和解压tar压缩包

  9. COPY

    1. copy文件和目录到镜像中,就是复制一份

  10. VOLUME

    1. 容器数据卷,相当于run时的-v操作

  11. CMD

    1. 启动容器后指定的命令

    2. 在docker run 时运行

  12. ENTPYPOINT

    1. 也是容器启动后要运行的命令

    2. 类似CMD命令,但ENTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当作参数送给ENTRYPOINT指令指定的程序

首先将项目复制到服务器上,将项目整体压缩下,以下是以nodejs为例

dockerfile文件和压缩的项目文件放在同一目录下

FROM node
#将项目的压缩文件放置到容器中/root目录下
ADD /root/nodejs.tar.gz /root  
##切换到容器/root目录下
WORKDIR /root
RUN chmod -R 777 nodejs
WORKDIR /root/nodejs
EXPOSE 3000
RUN npm instatll cnpm -g --registry=https://registry.nlark.com
RUN cnpm install
CMD node app.js

 用命令docker build -t 【name:TAG】 . 构建镜像, 注意使用 表示在当前目录下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值