add deploy files
This commit is contained in:
parent
887c5bc859
commit
5cc3de8e26
16
Dockerfile
Normal file
16
Dockerfile
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Build Stage
|
||||||
|
FROM golang:1.21.5 AS builder
|
||||||
|
ENV GO111MODULE=on \
|
||||||
|
GOPROXY=https://goproxy.cn,direct
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main main.go
|
||||||
|
|
||||||
|
# Run Stage
|
||||||
|
FROM zc1185230223/alpine:3.18
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /app/main .
|
||||||
|
|
||||||
|
EXPOSE 9090
|
||||||
|
CMD ["/app/main", "-debug=false"]
|
||||||
42
docker-compose.yaml
Normal file
42
docker-compose.yaml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
version: '3.4'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
url-short-service:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: url-short
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
SERVER_PORT: "9090"
|
||||||
|
REDIS_ADDR: "redis:6379"
|
||||||
|
REDIS_PASSWORD: "hPxyR4"
|
||||||
|
REDIS_DB: "2"
|
||||||
|
networks:
|
||||||
|
- url-short-network
|
||||||
|
ports:
|
||||||
|
- "9090:9090"
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: 'redis:7.2.3'
|
||||||
|
container_name: 'redis'
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- url-short-network
|
||||||
|
volumes:
|
||||||
|
- redis-db:/data:rw
|
||||||
|
ports:
|
||||||
|
- 6379:6379
|
||||||
|
command:
|
||||||
|
--requirepass "hPxyR4" #这一行是设置密码
|
||||||
|
privileged: true #使用该参数,container内的root拥有真正的root权限
|
||||||
|
|
||||||
|
networks:
|
||||||
|
url-short-network:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
redis-db: {}
|
||||||
12
main.go
12
main.go
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"flag"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
@ -16,9 +17,14 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
err := godotenv.Load()
|
var local bool
|
||||||
if err != nil {
|
flag.BoolVar(&local, "debug", true, "server running in debug?")
|
||||||
log.Fatalf("failed to load env: %v", err)
|
flag.Parse()
|
||||||
|
|
||||||
|
if local {
|
||||||
|
if err := godotenv.Load(); err != nil {
|
||||||
|
log.Fatalf("failed to load env: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
router := mux.NewRouter()
|
router := mux.NewRouter()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user