诚如前面一篇文章,是简单的布置了 golang 的一个 demo,再次布 beego
1、写 Dockerfile
# docker build
# Version 1.0
FROM centos
MAINTAINER yanyue@78dk.com
ENV GOROOT /usr/local/go
ENV GOPATH /data/gopath
ENV PATH $GOROOT/bin:$PATH
ADD go/ /usr/local/go
RUN mkdir -p /data/gopath
ADD src/ /data/gopath/src
ADD pkg/ /data/gopath/pkg
WORKDIR /data/gopath/src/lottery
RUN cd /data/gopath/src/lottery
RUN go build -o server.sh main.go
RUN cp /data/gopath/src/lottery/server.sh /usr/bin/server.sh
RUN chmod 777 /usr/bin/server.sh
ENTRYPOINT /usr/bin/server.sh
注
最后一行不能使用 RUN 和 CMD,不然会将启动日志输出到命令行,加 & 会导致 docker 内 server.sh 未启动(血泪史)
2、创建镜像
docker build -t golang:v1 .
3、创建容器
docker run -itd -p 80:8080 golang:v1 /bin/bash
注
端口号绑定:前面为本机的端口,后面为容器端口
4、查看容器
docker ps
注
此命令后面加上-a
就能查看所有状态的镜像
坑点:
坑点已经填平了,按照上面的步骤,不会错(泪目)