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操作镜像、容器相关命令,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • docker 查看容器日志命令的实现

    docker 查看容器日志命令的实现

    这篇文章主要介绍了docker 查看容器日志命令的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Docker容器磁盘占满的一些情况汇总

    Docker容器磁盘占满的一些情况汇总

    这篇文章主要给大家介绍了关于Docker容器磁盘占满的一些情况,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • docker部署zookeeper集群方式(单主机、多主机)

    docker部署zookeeper集群方式(单主机、多主机)

    这篇文章主要介绍了docker部署zookeeper集群方式(单主机、多主机),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • docker连接spring boot和mysql容器方法介绍

    docker连接spring boot和mysql容器方法介绍

    这篇文章主要介绍了docker连接spring boot和mysql容器方法介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 一条命令重启所有已停止的docker容器操作

    一条命令重启所有已停止的docker容器操作

    这篇文章主要介绍了一条命令重启所有已停止的docker容器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker不同网段下的容器互联的实现

    Docker不同网段下的容器互联的实现

    本文主要介绍了Docker不同网段下的容器互联的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • nerdctl替代docker及docker-compose的安装使用

    nerdctl替代docker及docker-compose的安装使用

    这篇文章主要为大家介绍了nerdctl替代docker及docker-compose的安装使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • FastAPI 部署在Docker的详细过程

    FastAPI 部署在Docker的详细过程

    这篇文章主要介绍了FastAPI 部署在 Docker的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • 基于alpine用dockerfile创建的爬虫Scrapy镜像的实现

    基于alpine用dockerfile创建的爬虫Scrapy镜像的实现

    这篇文章主要介绍了基于alpine用dockerfile创建的爬虫Scrapy镜像的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12

最新评论