Docker
- 推荐以docker方式部署
- 包含静态文件代理的docker build文件示例(摘取自 i3work 项目):
- linux中的shell脚本build:
cd /root/GoPath/src/github.com/ie310mu svn checkout svn://host:port/000.git/ie310go /root/GoPath/src/github.com/ie310mu/ie310go cd /root/GoPath/src svn checkout svn://host:port/023.i3work /root/GoPath/src/i3work export GOPATH=/root/GoPath cd /root/GoPath/src/i3work GOOS=linux GOARCH=amd64 go build --ldflags "-extldflags -static" -tags netgo main.go rm -fr /root/createimages/05.02.i3work.go/i3workGo mkdir /root/createimages/05.02.i3work.go/i3workGo cp -fp /root/GoPath/src/i3work/main /root/createimages/05.02.i3work.go/i3workGo/main cp -afpr /root/GoPath/src/i3work/static /root/createimages/05.02.i3work.go/i3workGo/static rm -fr /root/createimages/05.02.i3work.go/usr mkdir -pv /root/createimages/05.02.i3work.go/usr/share/zoneinfo/Asia cp -f /usr/share/zoneinfo/Asia/Shanghai /root/createimages/05.02.i3work.go/usr/share/zoneinfo/Asia/Shanghai docker build -t host:port/ie310/inftc.i3work.go:latest /root/createimages/05.02.i3work.go docker rmi -f `docker images | grep "<none>" | awk '{print $3}'`
-
Dockerfile:
FROM alpine:latest # 下面几句设置时区 COPY ./usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone COPY ./i3workGo /root/i3workGo COPY ./GoRuntimeFiles /usr/local VOLUME [ "/root/i3workGoConfig", "/root/i3workGoLogs", "/root/i3workGo/upload", "/root/i3workGo/riot-index" ] WORKDIR / CMD /root/i3workGo/main "-cf /root/i3workGoConfig/appconfig.json" "-lf /root/i3workGoLogs/i3work.log"
-
push脚本:
docker push host:port/ie310/inftc.i3work.go:latest