Docker项目部署之从后端到前端部署详细流程

 更新时间:2024年08月09日 11:11:29   作者:msmkhndl  
在当今的软件开发领域,容器化技术已经成为了部署和管理应用程序的重要手段,下面这篇文章主要给大家介绍了关于Docker项目部署之从后端到前端部署的相关资料,需要的朋友可以参考下

准备

安装docker

自行下载虚拟机,安装Centos7系统,并能够在虚拟机中启动成功

下载Xshell,Xftxp

安装过程

在Linux中下载yum-utils工具,

然后指定下载源,让yum去这个位置下载docker sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo,下载docker设置docker的插件: sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证: docker -v, docker images,查看自己的docker是否安装成功

配置镜像加速: 到阿里云,镜像中设置自己的加速配置 命令在阿里云->容器->容器镜像->管理控制台

启动docker: systemctl start docker

安装容器

拉取镜像文件 docker pull+镜像文件名字,镜像可以去docker-hub官网找

创建容器 docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD = 123 mysql

  • -d:表示容器后台运行
  • -p:指明了容器的端口和寄存器的端口相映射
  • -e:指明了该容器的环境配置
  • --name:为该容器命名
  • docker run :固定语法,指在创建一个容器

最后的mysql指的是拉取的镜像文件的名字,如有需要,在后面写上该镜像文件的版本,name:targ

docker的常见命令:

  • docker start 容器名,启动该容器
  • docker stop 容器名,关闭该容器
  • docker status 容器名,查看容器状态
  • docker ps 查看所有容器的信息
  • docker ps -a查看所有的容器
  • docker logs 容器名,查看该容器的日志

项目部署

后端部署

根据项目情况安装对应的容器,就那我的比较简单的项目来说,只需要一个Linux操作系统,java运行环境,项目本身,和项目相关的其他的容器,前端代码包

安装mysql容器,docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123 -e TZ=Asia/Shanghai -v /root/mysql/data:/var/lib/myql -v /root/mysql/init:/docker-entrypoint-initdb.d -v /root/mysql/conf:/etc/mysql/conf.d mysql,这其中涉及到一个数据挂载的问题,在问题说明中有解释,先这么做,数据库的密码是自己设置的

然后将windows上的数据库导出,通过Xftp传到自己的虚拟机上

打开mysql容器,docker exec -it mysql bash,然后进入mysql,mysql -u root -p,创建自己项目的数据库,然后通过source /导出的数据库所在的目录,导入数据

打包Spring项目,打包之前记得把配置文件的ip地址和数据库密码换成docker中mysql的配置,然后把得到的jar包使用Xftp传输到自己的虚拟机中,放到一个文件夹下,使用Dockerfile创建自己的镜像文件

然后sudo docker build . -t land:1.0 ,这样就创建了自己的docker镜像

然后 sudo docker run -d -p 8081:8081 --name land  --network 网络名  land

这样testnet就创建好了

创建自己的docker容器,后端项目也成功部署到了docker中,

前端项目部署

首先将项目打包一下

打包成功以后会生成一个dist文件

然后将dist文件拷贝到Linux系统中,和之前拷贝Java项目的jar包放到一个位置

我这里把前端单独放到一个位置了

然后创建Dockerfile文件和一个default.conf文件,前端和后端的Dockerfile文件我都放到最后了

然后构建自己的镜像,sudo docker build . -t land-vue,

创建自己的容器,docker run -d --name land-vue -p 8082:8082 --network zhang land-vue

项目测试

启动前端容器和后端容器,最后访问192.168.101.131:8082出现界面,说明配置成功,

后端接口成功拿到数据,这样一个简单的java小项目通过docker部署就完成了。

docker-compose.yml 文件自动部署项目

在之前存放文件的文件夹下创建一个文件docker-compose.yml模板去网上找,然后按照模板部署,最后执行docker compose up -d 就能实现自动部署

这里有个小提示,如果nginx.conf不能直接和etc/nginx/nginx.conf挂载的话,直接和整个nginx挂载也能成功

问题说明:

数据卷挂载:当我们创建了容器之后,我们是可以通过docker exec -it 容器名 bash进入咱们一个虚拟的容器终端操作界面,但是里面的内容只有查看功能并不能之际修改所以这时候我们就需要在本地虚拟机中创建一个目录或者文件与容器中指定的目录或文件进行挂载,进行挂载以后当我们对本地虚拟机中被挂载的文件或者目录进行操作的时候就能够把这个修改的内容实时同步到容器中的对应的文件之中,这样就解决了容器内文件不能被修改的问题。

后端项目的Dockerfile:

前端项目的Dockerfile

前端的default.conf

总结 

到此这篇关于Docker项目部署之从后端到前端部署的文章就介绍到这了,更多相关Docker后端到前端部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解用Docker快速搭建一个博客网站

    详解用Docker快速搭建一个博客网站

    本文主要介绍了用Docker快速搭建一个博客网站,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Alpine Docker镜像字体的问题解决操作

    Alpine Docker镜像字体的问题解决操作

    这篇文章主要介绍了Alpine Docker镜像字体的问题解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 如何免sudo使用docker命令详解

    如何免sudo使用docker命令详解

    有时候发现docker有的指令必须加sudo才能执行,下面这篇文章主要给大家介绍了关于如何免sudo使用docker命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
    2017-12-12
  • Docker探索namespace详解

    Docker探索namespace详解

    以前对docker中的namespace了解甚少,今天在网上查阅相关文章,发现这篇还不错,介绍了namespace资源隔离以及进行namespace api操作的四种方式等内容,这里分享给大家,供参考。
    2017-10-10
  • IDEA 配置Docker的过程

    IDEA 配置Docker的过程

    这篇文章主要介绍了IDEA 配置Docker的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 详解ASP.NET Core Docker部署

    详解ASP.NET Core Docker部署

    这篇文章主要介绍了详解ASP.NET Core Docker部署。详细介绍了如何在Docker容器中运行ASP.NET Core应用程序。有兴趣的可以了解一下。
    2016-12-12
  • docker如何查看容器启动命令(已运行的容器)

    docker如何查看容器启动命令(已运行的容器)

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,下面这篇文章主要给大家介绍了关于docker如何查看容器启动命令(已运行的容器)的相关资料,需要的朋友可以参考下
    2023-02-02
  • 解决运行Docker镜像报错:version `GLIBC_2.32‘ not found问题

    解决运行Docker镜像报错:version `GLIBC_2.32‘ not found

    文章介绍了解决Docker镜像运行时因GLIBC版本不匹配导致的错误,建议使用AlpineLinux作为基础镜像,并在其中安装所需的运行时库,作者还分享了个人经验,提醒读者尝试其他方法无效后可以寻求帮助
    2024-12-12
  • Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    这篇文章主要介绍了Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 详解Docker Volume 之权限管理

    详解Docker Volume 之权限管理

    这篇文章主要介绍了详解Docker Volume 之权限管理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10

最新评论