项目打包部署上线(dockerV2)

一、环境准备

1、CentOSLinux环境准备,略。
2、Docker环境安装,配置国内加速源,略。
3、Docker安装nacos环境

https://www.yuque.com/docs/share/971abeac-a492-4346-aa3c-f92d5135a31a?# 《Linux 系统安装 nacos》

二、vue-admin打包

1、vue项目打包
1.1、修改接口请求地址

![image.png](https://img-blog.csdnimg.cn/img_convert在这里插入图片描述

1.2、执行打包

在终端执行下面命令得到 dist 目录
npm run build

在这里插入图片描述

1.4、新建文件夹/opt/module/admin-master

并在该文件夹中新建两个文件
Dockerfile
在这里插入图片描述

nginx.conf

#user  nobody;
worker_processes  1;
  
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
  
#pid        logs/nginx.pid;
  
  
events {
    worker_connections  1024;
}
  
  
http {
    include       mime.types;
    default_type  application/octet-stream;
  
    #access_log  logs/access.log  main;
  
    sendfile        on;
    #tcp_nopush     on;
  
    #keepalive_timeout  0;
    keepalive_timeout  65;
  
    #gzip  on;
  
    client_max_body_size   20m;
    server {
        listen       80;
        server_name  www.fngdes.com;
  
        #charset koi8-r;
  
        #access_log  logs/host.access.log  main;
     location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
    
    #如有需要的话,添加映射静态资源文件
    location /static{
    	root /usr/share/nginx/html/202202141414/;
    }
 
    }
  
}
1.7、创建镜像

前端镜像名 —— nginx-es-admin
docker images展示所有镜像

[root@dockerdevp es-admin]# docker build -t nginx-es-admin .

注意:在末尾有一个**.**

1.8、运行容器

前名docker容器名 后是镜像名生成的名字

[root@dockerdevp es-admin]#docker run --restart=always  --name nginx-es-admin-app -p80:80 nginx-es-admin

如果有上传文件目录之类的,需要添加映射目录,如:

docker run --restart=always --name nginx-vp3d-index-app -p80:80 -v /Users/esncode/upLoad:/Users/esncode/upLoad nginx-vp3d-index

使用 docker ps展示所有启动的容器
docker ps -a展示所有容器,包括未启动的

[root@dockerdevp es-admin]# docker ps 
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                                            NAMES
5014a2d5e2e8        nginx-es-admin             "/docker-entrypoin..."   9 minutes ago       Up 9 minutes        0.0.0.0:80->80/tcp

SpringCloud 项目打包

1、mvn打包项目

在pom.xml中记得加上exec配置

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
                <classifier>exec</classifier>
            </configuration>
        </plugin>
    </plugins>
</build>

公共依赖模块不用打包,应该作为依赖配置到其他模块

https://www.jianshu.com/p/37c6688c4fcb

https://blog.csdn.net/sinat_38570489/article/details/89504048

maven中首先clean、install父工程项目,再clean、install 其它模块common,最后依次package打包其它非公共依赖模块
在这里插入图片描述

将这些模块打包后,传入服务器上
在这里插入图片描述

3、每个模块下对应增加一个Dockerfile

以gateway为例

修改名称和端口即可

Dockerfile

FROM java:8

COPY *.jar /gateway-0.0.1-SNAPSHOT.jar

CMD ["--server.port=88"]

EXPOSE 88

ENTRYPOINT ["java","-jar","/gateway-0.0.1-SNAPSHOT.jar"]
4、生成镜像

在响应目录下执行命令

docker build -t es-gateway .
5、运行容器

在对应的文件中执行命令,否则可能会找不到 Dockerfile 文件

docker run -d -p88:88 --name es-gateway-app es-gateway --restart=always

如果有映射文件目录添加 -e 进行制定

docker run -d -p88:88 --name xxx-app -e /opt/moudule/xxx:/usr/local/share/xxx  xxx-image --restart=always

其他模块对应修改名称和端口即可

下面是项目配置好的文件目录,
在这里插入图片描述

注意

多次上传 dist 文件,重复的部分会被覆盖,但打包时,会自动以当前打包时间为文件名,所以多次上传时,需要手动将旧的文件给删除。只留下时间最新的文件。
在这里插入图片描述

因为在虚拟机内,可能虚拟机的系统时间会导致某些镜像文件下载失败,因为一些镜像文件是从网上下载下来的,可能因为你的时间不对,导致下载时会返回错误的信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值