简介
FROM golang:latest
WORKDIR $GOPATH/src/github.com/xx/yy
COPY . $GOPATH/src/github.com//xx/yy
RUN go build .
EXPOSE 8000
ENTRYPOINT ["./yy"]
golang:latest
镜像为基础镜像,将工作目录设置为 $GOPATH/src/go-gin-example
,并将当前上下文目录的内容复制到 $GOPATH/src/go-gin-example
中
在进行 go build
编译完毕后,将容器启动程序设置为 ./go-gin-example
,也就是我们所编译的可执行文件
注意 go-gin-example
在 docker
容器里编译,并没有在宿主机现场编译
Dockerfile 文件是用于定义 Docker 镜像生成流程的配置文件,文件内容是一条条指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建;这些指令应用于基础镜像并最终创建一个新的镜像
- FROM
- 指定基础镜像(必须有的指令,并且必须是第一条指令)
- WORKDIR
格式为 WORKDIR
<工作目录路径>
使用 WORKDIR
指令可以来指定工作目录(或者称为当前目录),以后各层的当前目录就被改为指定的目录, 如果目录不存在,WORKDIR
z会帮你建立目录
- COPY
COPY <源路径>… <目标路径>
COPY [“<源路径1>”,… “<目标路径>”]
- RUN
用于执行命令行命令
格式:RUN
<命令>
- MAINTAINER
https://hujb2000.gitbooks.io/docker-flow-evolution/content/cn/basis/dockerfiledetail.html