107 lines
2.5 KiB
Docker
107 lines
2.5 KiB
Docker
#引入基本的镜像
|
||
FROM node:16.0.0-alpine
|
||
|
||
# 添加时区环境变量,亚洲,上海
|
||
ENV TIME_ZONE Asia/Shanghai
|
||
|
||
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
|
||
|
||
ENV NODE_ENV=production
|
||
|
||
RUN mkdir -p /vueCms
|
||
|
||
ADD . /vueCms
|
||
|
||
#设置/vueCms为工作目录
|
||
WORKDIR /vueCms
|
||
|
||
COPY ["package.json", "yarn.lock", "./"]
|
||
|
||
RUN npm run build
|
||
|
||
RUN rm yarn.lock
|
||
|
||
# 配置环境变量
|
||
ENV NODE_ENV pro
|
||
|
||
#暴露后端接口的端口号
|
||
EXPOSE 3000
|
||
|
||
#暴露即时通信的端口号
|
||
EXPOSE 9876
|
||
|
||
# 程序启动命令
|
||
CMD ["node","./dist/main.js"]
|
||
#CMD /bin/bash
|
||
|
||
##FROM golang:alpine as build-env
|
||
#ENV GOROOT /usr/local/go
|
||
#ENV GOPATH /data/gopath
|
||
#ENV PATH $GOROOT/bin:$PATH
|
||
#RUN yum install -y curl
|
||
#RUN wget -c https://storage.googleapis.com/golang/go1.15.11.linux-amd64.tar.gz \
|
||
# && tar -C /usr/local -xzf go1.15.11.linux-amd64.tar.gz \
|
||
# && rm -rf go1.15.11.linux-amd64.tar.gz
|
||
##RUN mkdir -p /data/go
|
||
#RUN ln -sv /usr/local/go/bin/go /bin
|
||
#
|
||
## 为我们的镜像设置必要的环境变量
|
||
#ENV GOPROXY=https://goproxy.cn \
|
||
# GO111MODULE=on \
|
||
# CGO_ENABLED=0 \
|
||
# GOOS=linux \
|
||
# GOARCH=amd64
|
||
#
|
||
#RUN mkdir -p /www123
|
||
##把当前所有的内容添加到镜像的www123文件夹下
|
||
##ADD . /www123
|
||
#
|
||
## 进入镜像的www123文件夹下,将我们的代码编译成二进制可执行文件app
|
||
#RUN cd /www123 && go build -o www123exe .
|
||
#
|
||
##分阶段,减少体积
|
||
##FROM alpine
|
||
#
|
||
##时区问题
|
||
##RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||
##RUN apk add --no-cache tzdata \
|
||
## && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||
## && echo "Asia/Shanghai" > /etc/timezone
|
||
#
|
||
#WORKDIR /www123
|
||
##COPY --from=build-env /www123/www123exe /www123
|
||
#ADD . /www123
|
||
#
|
||
## 暴露服务端口
|
||
#EXPOSE 8181
|
||
#
|
||
##启动点
|
||
#ENTRYPOINT ./www123exe
|
||
# 启动容器时运行的命令
|
||
#CMD ["/www123/www123exe"]
|
||
|
||
#docker run -d -p 8282:3000 -v /usr/local/nginx/html/test/nestjs/public:/vueCms/public/ vue-cms-nestjs:latest
|
||
|
||
|
||
#执行Dockerfile生成镜像
|
||
#docker build -f Dockerfile -t vue-cms-nestjs:latest .
|
||
#-f flag 是我们的dockerfile
|
||
#-t tag 是镜像标签
|
||
#最后的(.) 命令式当前文件夹下的Dockerfile
|
||
|
||
#运行镜像
|
||
#-d设置后台运行 8181为访问端口ip 8080项目中设置的端口ip
|
||
#docker run -d -p 8282:3000 vue-cms-nestjs:latest
|
||
|
||
|
||
|
||
#Docker入门教程101: 基于Docker部署Go项目
|
||
##https://zhuanlan.zhihu.com/p/453776691
|
||
|
||
|
||
#生成对的docker镜像文件
|
||
#执行文件也成功,但是映射端访问不了,因为服务器的端口号没有开放设置
|
||
|
||
|
||
|