镜像制作

编辑Dockerfile

#base image
FROM golang

MAINTAINER feng xiao xiaofeng1@chinaddos.com

# ENV GOPATH /go

# Install beego & bee
RUN go get github.com/astaxie/beego
RUN go get github.com/beego/bee

解释

FROM golang从官方的Golang Image创建基础镜像.
RUN go get github.com/astaxie/beego 来安装Beego.
RUN go get github.com/beego/bee 来安装Bee.

生成镜像

docker build -t my/beego .

项目开发示例

生成项目

docker run --rm -v "$(pwd)":/go/src/ -w /go/src my/beego bee api ddos_manage_service

解释

--rm 告诉Docker当执行结束后,自动删除这个Container.
-v "$(pwd)":/go/src/ 会挂载我的当前目录到Docker Container里面的/go/src目录.
-w /go/src 指定运行命令的目录. 
my/beego 是这里所使用的Docker image, 也就是我们刚刚创建的那个Beego Image.
bee new ddos_manage_service 创建了一个beego应用ddos_manage_service.

项目运行

docker run --rm -v "$(pwd)"/ddos_manage_service:/go/src/ddos_manage_service -w /go/src/ddos_manage_service -p 8081:8080 my/beego bee run

解释

-p 8081:8080, 它将Docker container内部的8080端口映射到主机的8081端口. 

服务访问

http://192.168.137.146:8081/
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐