pwd=`pwd`
tempdir=`mktemp -d /tmp/tmpd.XXXXXX`
git clone --branch v2.9.3 https://hub.fastgit.org/micro/micro.git $tempdir/micro
git clone https://hub.fastgit.org/2637309949/gmt.git $tempdir/gmt
cd $tempdir/micro
cp -rf ../gmt/comm .
rm comm/go.mod comm/go.sum
sed -i "s/comm\//github.com\/micro\/micro\/v2\/comm\//g" `find comm -name "*.go" | xargs grep "comm\/" -rl`
cat > main.go <<EOF
package main
import (
"github.com/micro/micro/v2/comm/micro/cmd"
)
func main() {
cmd.Init()
}
EOF
cat > Dockerfile <<EOF
FROM golang:1.13-alpine
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
RUN apk --no-cache add git gcc libtool musl-dev
COPY . /
WORKDIR /
RUN go env -w GOPROXY=https://goproxy.cn,direct
RUN go build -a -installsuffix cgo -ldflags "-s -w -X github.com/micro/micro/v2/cmd.GitCommit=e60b2cac -X github.com/micro/micro/v2/cmd.GitTag=v2.9.3 -X github.com/micro/micro/v2/cmd.BuildDate=1631063201" -o micro
ENTRYPOINT ["/micro"]
EOF
go env -w GOPROXY=https://goproxy.cn,direct
go build -a -installsuffix cgo -ldflags "-s -w -X github.com/micro/micro/v2/cmd.GitCommit=e60b2cac -X github.com/micro/micro/v2/cmd.GitTag=v2.9.3 -X github.com/micro/micro/v2/cmd.BuildDate=1631063201" -o micro
cp micro $GOPATH/bin
docker build -t micro:2.9.3 .
sudo mkdir /etc/micro.d/ /data/micro -p
sudo touch /etc/micro.d/docker-compose.yaml
sudo chmod -R 777 /data/micro /etc/micro.d
sudo cat > /etc/micro.d/docker-compose.yaml <<EOF
version: "3.5"
services:
api:
container_name: api
image: micro:2.9.3
command: api
environment:
- MICRO_REGISTRY=consul
- MICRO_API_NAMESPACE=go.micro
- MICRO_API_HANDLER=api
- MICRO_API_ADDRESS=0.0.0.0:8080
- MICRO_REGISTRY_ADDRESS=192.168.202.128:8503
- MICRO_REGISTER_TTL=10
- MICRO_REGISTER_INTERVAL=5
ports:
- 8080:8080
networks:
- micro
restart: always
web:
container_name: web
image: micro:2.9.3
command: web
environment:
- MICRO_REGISTRY=consul
- MICRO_API_NAMESPACE=go.micro
- MICRO_API_HANDLER=api
- MICRO_API_ADDRESS=0.0.0.0:8080
- MICRO_REGISTRY_ADDRESS=192.168.202.128:8503
- MICRO_REGISTER_TTL=10
- MICRO_REGISTER_INTERVAL=5
ports:
- 8080
networks:
- micro
restart: always
networks:
micro:
driver: bridge
EOF
sudo docker-compose -f /etc/micro.d/docker-compose.yaml up -d