简介

  1. FROM golang:latest
  2. WORKDIR $GOPATH/src/github.com/xx/yy
  3. COPY . $GOPATH/src/github.com//xx/yy
  4. RUN go build .
  5. EXPOSE 8000
  6. ENTRYPOINT ["./yy"]

golang:latest 镜像为基础镜像,将工作目录设置为 $GOPATH/src/go-gin-example,并将当前上下文目录的内容复制到 $GOPATH/src/go-gin-example

在进行 go build 编译完毕后,将容器启动程序设置为 ./go-gin-example,也就是我们所编译的可执行文件

注意 go-gin-exampledocker 容器里编译,并没有在宿主机现场编译

Dockerfile 文件是用于定义 Docker 镜像生成流程的配置文件,文件内容是一条条指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建;这些指令应用于基础镜像并最终创建一个新的镜像

  1. FROM
    • 指定基础镜像(必须有的指令,并且必须是第一条指令)
  2. WORKDIR

格式为 WORKDIR <工作目录路径>
使用 WORKDIR 指令可以来指定工作目录(或者称为当前目录),以后各层的当前目录就被改为指定的目录, 如果目录不存在,WORKDIR z会帮你建立目录

  1. COPY

COPY <源路径>… <目标路径>
COPY [“<源路径1>”,… “<目标路径>”]

  1. RUN

用于执行命令行命令
格式:RUN <命令>

  1. MAINTAINER


https://hujb2000.gitbooks.io/docker-flow-evolution/content/cn/basis/dockerfiledetail.html