博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dockerfile语法(一)
阅读量:6232 次
发布时间:2019-06-21

本文共 1030 字,大约阅读时间需要 3 分钟。

hot3.png

dockerfile语法(一)

FROM

  • FROM scratch 制作base image
  • FROM centos 使用base image
  • FROM ubuntu:14.04 使用base image 指定版本

LABEL

  • LABEL maintainer=""
  • LABEL version="1.0"
  • LABEL description="This is description"

RUN

  • RUN yum update && yum install -y vim
    python-dev #反斜线换行
  • RUN apt-get update && apt-get install -y perl
    pwgen --no-install-recommends && rm -rf
    /var/lib/apt/lists/* #注意清理cache
  • RUN /bin/bash -c 'source $HOME/.bashrc;echo $HOME'

为了美观,复杂的RUN请用反斜线换行!避免无用分层,合并多条命令成一行!

WORKDIR

WORKDIR /root
WORKDIR /test     # 如果没有会自动创建test目录
WORKDIR demo
RUN pwd              # 输出结果应该是 /test/demo

用WORKDIR,不要用 RUN cd! 尽量使用绝对目录!

ADD and COPY

  • ADD hello / 将hello添加到Image的根目录中
  • ADD test.tar.gz / 添加到根目录并解压
  • WORKDIR /root
    ADD hello test/
    或者
    WORDIR /root
    COPY hello test/ 将hello添加到 /root/test/hello

大部分情况,COPY优于ADD! ADD除了COPY还有额外功能(解压)!添加远程文件/目录请使用curl或者wget!

ENV

ENV MYSQL_VERSION 5.6 #设置常量

RUN apt-get install -y mysql-server="${MYSQL_VERSION}" \
&& rm -rf /var/lib/apt/lists/* #引用常量

EXPOSE

EXPOSE 5000 暴露5000端口

转载于:https://my.oschina.net/u/3628952/blog/1805860

你可能感兴趣的文章
将String转化成Stream,将Stream转换成String
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
Kali-linux Arpspoof工具
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
bash腳本編程之三 条件判断及算数运算
查看>>
php cookie
查看>>
linux下redis安装
查看>>
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
JavaScript 数据类型
查看>>
量子通信和大数据最有市场突破前景
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>