原因:国内的牛逼网络环境
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
原因:找不到 bee命令
vim ~/.bash_profile
增加:
export GOPATH="$HOME/go
export PATH="$GOPATH/bin:$PATH
source ~/.bash_profile
go get -u github.com/beego/beego/v2
go get -u github.com/beego/bee/v2
目前的网络应用都使用容器化部署,趁着在公司摸鱼的时间摸索了一下如何使用docker部署一个beego helloword 程序
见官网
见官网
# 格式 bee new <name>
$ bee new hello
# 使用 tree 命令,看看创建了些什么
$ tree hello
# 关于目录的具体解释建议看 beego 官网的文档
hello
├── conf
│ └── app.conf
├── controllers
│ └── default.go
├── go.mod
├── go.sum
├── hello
├── lastupdate.tmp
├── main.go
├── models
├── routers
│ └── router.go
├── static
│ ├── css
│ ├── img
│ └── js
│ └── reload.min.js
├── tests
│ └── default_test.go
└── views
└── index.tpl
$ cd hello
$ mkdir build
$ cd build
$ vim build.sh
#!/bin/bash
export GOOS=linux
go build hello
$ vim Dockerfile
FROM golang:latest # 基础镜像,因为beego基于golang的环境,这里使用latest,但是建议根据具体的需求选择适当的TAG。
RUN mkdir -p /hello # 新建文件夹用于存放构建脚本和Dockerfile
COPY hello/ /hello # 将对应文件夹下的内容拷贝到容器的目录下
WORKDIR /hello/doc # 切换工作目录
CMD ["/hello/hello"] # 运行hello程序
$ cd .. # 很重要
$ docker build -f ./hello/build/Dockerfile . -t justzyzhang:latest
# 看看是否成功
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
justzyzhang latest d41db69b23ab About an hour ago 881MB
#
$ docker run --name test2 -p 8085:8080 -d justzyzhang:latest
$ docker login
$ docker tag justzyzhang:latest slimhappy/justzyzhang:v1.0
$ docker push slimhappy/justzyzhang:v1.0