docker 下 beego 的 web 项目非打包部署

26点 林涛 9319℃ 0评论

为了修改方便,所以使用了 beego 的非打包部署,并且由于服务器上部署了 docker,所以 beego 、bee、mysql 扩展在创建 image 的时候就可以换创建上去。

beego 的整个目录如下:

–// 根目录
— bin
— pkg
— src
—- github.com
—- goweb  // beego 创建的目录
—- Dockeffile
– ……

首先在 在goweb同级下创建Dockerfile文件,内容如下:

## 载入最新的 golang
FROM golang
## 定义环境变量
ENV GOROOT=/usr/local/go
ENV GOPATH=/www/go/
ENV PATH=$GOPATH/bin/:$PATH
## 首先安装 beego 和 bee 工具和 mysql 扩展
RUN go get github.com/astaxie/beego && go get github.com/beego/bee && go get github.com/go-sql-driver/mysql
## 复制Dockerfile 同目录的所有文件到docker 中的指定位置
COPY . /www/go/src/goweb/
## 设置项目目录
WORKDIR /www/go/src/goweb
## 开放 8080 端口
EXPOSE 8080
## 启动执行 bee run  命令
CMD [“bee”, “run”]

然后开始创建 image ,build 的时候是按照 dockerfile 里面的有效行执行的,所以注意 dockerfile 里面每行的顺序,否则后面可能会报错:

## 生成 名称为 goweb 的image 文件
docker image build -t goweb .

启动 docker

## 创建 docker 并命名 docker 为 goweb,
## 映射宿主机的 8080 到 docker 的 8080
## 设置 docker 的 ip 地址
## 映射宿主机的 /webroot/www/go/goweb 到 docker 下的/www/go/src/goweb
docker run -d –name goweb -p 8080:8080 -v /webroot/www/go/goweb:/www/go/src/goweb    goweb

最后 docker start goweb 即可。

另外需要注意的是,bin目录要给读写权限

然后进行测试:http://xxx.xxx.xxx.xxx:8080

 

 

 

如需转载请注明: 转载自26点的博客

本文链接地址: docker 下 beego 的 web 项目非打包部署

转载请注明:26点的博客 » docker 下 beego 的 web 项目非打包部署

喜欢 (0)
发表我的评论
取消评论

表情