Browse Source

change docker

master
skyboy 10 months ago
parent
commit
9e6053fd8e
  1. 24
      Dockerfile
  2. 6
      README.en.md
  3. 5
      README.md
  4. 25
      docker/Dockerfile-dev
  5. 16
      docker/nginx.conf

24
Dockerfile

@ -1,3 +1,6 @@
# docker build --no-cache -t godoos/godoos:latest .
# docker run -it --rm -p 56780:56780 -p 8185:80 godoos/godoos:latest
# 使用 golang:alpine 作为构建阶段的基础镜像
FROM golang:alpine AS builder
# 在容器内部设置环境变量
@ -17,13 +20,23 @@ COPY . .
RUN go build -o godoos ./godo/main.go
# 创建一个小镜像
FROM debian:stretch-slim
FROM nginx:alpine
# 设置工作目录
WORKDIR /
# 复制前端构建结果
COPY ./frontend/dist /dist
# 更改镜像源
RUN echo 'http://mirrors.aliyun.com/alpine/v3.19/main' > /etc/apk/repositories && \
echo 'http://mirrors.aliyun.com/alpine/v3.19/community' >> /etc/apk/repositories
# 复制前端构建结果到 nginx 的默认文档目录
COPY --from=builder /build/frontend/dist /usr/share/nginx/html
# 替换默认的 nginx 配置文件
COPY docker/nginx.conf /etc/nginx/conf.d/
# 暴露 nginx 默认端口
EXPOSE 80
# 从builder镜像中把 /build/godoos 拷贝到当前目录
COPY --from=builder /build/godoos /godoos
@ -35,4 +48,7 @@ RUN chmod +x /godoos
EXPOSE 56780
# 需要运行的命令
ENTRYPOINT ["/godoos"]
USER root
# 启动 Nginx 和 godoos 服务
CMD ["sh", "-c", "nginx -g 'daemon off;' & /godoos"]

6
README.en.md

@ -40,9 +40,11 @@ English | [简体中文](README.md)
5. **Docker installation**
```
docker run -d -p 8210:56780 --name godoos godoos/godoos:latest
docker run -d -p 56780:56780 -p 8185:80 --name godoos godoos/godoos:latest
```
- Access address: http://localhost:8210/
-Access address: http://localhost:8185/
-If local storage is set, the storage address is/root/. odoos/os. After successful setting, save it by clicking the win icon in the bottom left corner ->shutdown icon ->restore ->restore to factory settings
<!-- 图标和链接 -->
[Windows-image]: ./docs/img/Windows.svg

5
README.md

@ -40,9 +40,10 @@
5. **Docker安装**
```
docker run -d -p 8210:56780 --name godoos godoos/godoos:latest
docker run -d -p 56780:56780 -p 8185:80 --name godoos godoos/godoos:latest
```
- 访问地址:http://localhost:8210/
- 访问地址:http://localhost:8185/
- 如果设置本地存储,存储地址为 /root/.godoos/os,设置成功后保存,点左下角win图标->关机图标->恢复->恢复出厂设置
<!-- 图标和链接 -->
[Windows-image]: ./docs/img/Windows.svg

25
docker/Dockerfile-dev

@ -0,0 +1,25 @@
# docker build -f Dockerfile-dev -t godoos/godoos-dev:latest .
# docker run -it --rm -v $(pwd):/app -p 56780:56780 --name godoos-dev godoos/godoos-dev:latest
FROM golang:alpine AS dev
# 设置环境变量
ENV GO111MODULE=on \
GOPROXY=https://goproxy.cn,direct \
CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
# 设置工作目录
WORKDIR /app
# 将代码复制到容器中
COPY . .
# 设置 GOPATH 和 GOPROXY
ENV GOPATH=$GOPATH:/app/ GOPROXY=https://mirrors.aliyun.com/goproxy,https://goproxy.cn,direct
# 构建二进制文件
CMD ["go", "run", "./godo/main.go"]
# 暴露端口
EXPOSE 56780

16
docker/nginx.conf

@ -0,0 +1,16 @@
server {
listen 80;
server_name localhost;
# 代理所有请求到 /dist 目录
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
# 错误页配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Loading…
Cancel
Save