[toc]

docker file

语法

FROM

FROM指定基础镜像

基本原则:

  • 官方镜像优于非官方的镜像,如果没有官方镜像,则尽量选择Dockerfile开源的
  • 固定版本tag而不是每次都使用latest
  • 尽量选择体积小的镜像

RUN

通过 RUN 执行指令

RUN 主要用于在Image里执行指令,比如安装软件,下载文件等。

如:

1
2
3
4
5
6
7
FROM ubuntu:21.04
RUN apt-get update
RUN apt-get install -y wget
RUN wget https://github.com/ipinfo/cli/releases/download/ipinfo-2.0.1/ipinfo_2.0.1_linux_amd64.tar.gz
RUN tar zxf ipinfo_2.0.1_linux_amd64.tar.gz
RUN mv ipinfo_2.0.1_linux_amd64 /usr/bin/ipinfo
RUN rm -rf ipinfo_2.0.1_linux_amd64.tar.gz

echo多行进入某个文件

1
2
3
4
5
6
7
RUN echo \
$'\
line first\n\
next line\n\
last line\n\
' \
> /file.txt

COPY

把外部宿主机文件在创建镜像的时候复制进去