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镜像文件
|
|||
|
#执行文件也成功,但是映射端访问不了,因为服务器的端口号没有开放设置
|
|||
|
|
|||
|
|
|||
|
|