CentOS系统环境搭建(九)——centos系统下使用docker部署项目

centos系统环境搭建专栏🔗点击跳转

关于Docker-compose安装请看CentOS系统环境搭建(三)——Centos7安装Docker&Docker Compose,该文章同样收录于centos系统环境搭建专栏。

Centos7部署项目

  1. 采用前后端分离的形式部署。
  2. 使用Docker运行项目。
  3. 使用Docker Compose创建项目容器。
  4. 使用git管理项目的更新。

    文章目录

    • Centos7部署项目
      • Centos7安装git
      • Centos7从github拉取代码
        • 配置git
          • 配置用于提交代码的用户名
          • 配置用户邮箱
          • 生成公钥
          • 效果如下
        • github添加SSH key
          • 打开你的GitHub
          • 获取ssh key公钥内容
          • 验证
        • 拉取项目
          • 新建空白文件夹
          • 拉取项目
      • 使用Docker Compose创建项目容器
        • 创建docker-compose.yaml
        • 启动项目
        • 配置前端
          • 新建空白文件夹
          • 拉取前端代码
          • 创建nginx.conf
          • 创建docker-compose.yaml
          • 启动服务
          • 查看是否在运行

Centos7安装git

安装

yum install git

验证

git --version

Centos7从github拉取代码

配置git

配置用于提交代码的用户名

git config --global user.name "Your Name"

配置用户邮箱

git config --global user.email "Your email"

生成公钥

ssh-keygen -t rsa -C "Your email"

效果如下

ssh-keygen -t rsa -C "你的email"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:一串密码 email
The key's randomart image is:
密码图

可知,Your public key has been saved in /root/.ssh/id_rsa.pub.

这里就是你密钥的位置。

[root@VM-4-17-centos srv]# cd /root/.ssh/
[root@VM-4-17-centos .ssh]# ll
total 8
-rw------- 1 root root 1679 Jun  9 14:57 id_rsa
-rw-r--r-- 1 root root  400 Jun  9 14:57 id_rsa.pub

github添加SSH key

打开你的GitHub

image-20230609150306497

获取ssh key公钥内容

id_rsa.pub就是你的公钥,参考上面步骤,进入对应文件夹下查看公钥。

cat /root/.ssh/id_rsa.pub

image-20230609151002571

将它复制到github。

image-20230609151306272

image-20230609151331428

验证

ssh -T git@github.com

成功后如下所示。

[root@VM-4-17-centos .ssh]# ssh -T git@github.com
Hi PerCheung! You've successfully authenticated, but GitHub does not provide shell access.

拉取项目

新建空白文件夹

mkdir /srv/tencent
mkdir /srv/tencent/server

我将会把github代码拉取到/srv/tencent/server

拉取项目

复制ssh地址

image-20230609152548008

进入/srv/tencent/server执行下面的命令

git clone git@github.com:PerCheung/tencent.git

效果如下

[root@VM-4-17-centos server]# git clone git@github.com:PerCheung/tencent.git
Cloning into 'tencent'...
remote: Enumerating objects: 352, done.
remote: Counting objects: 100% (352/352), done.
remote: Compressing objects: 100% (210/210), done.
remote: Total 352 (delta 136), reused 289 (delta 77), pack-reused 0
Receiving objects: 100% (352/352), 111.94 KiB | 0 bytes/s, done.
Resolving deltas: 100% (136/136), done.
[root@VM-4-17-centos server]# ll
total 4
drwxr-xr-x 5 root root 4096 Jun  9 15:31 tencent

使用Docker Compose创建项目容器

创建docker-compose.yaml

/srv/tencent/server下创建docker-compose.yaml

# 指定 Docker Compose 文件版本
version: '3'# 定义服务
services:# 定义名为 tencent 的服务tencent:# 自定义容器名container_name: tencent_server# 始终重启该容器restart: always# 使用当前目录下的 Dockerfile 构建容器镜像build: ./tencent# 赋予容器更高的权限,以便容器内的进程可以拥有更高的权限privileged: true# 容器内的工作目录working_dir: /tencent# 将主机的 ~/.m2 目录映射到容器内的 /root/.m2 目录,以便容器内的应用程序可以访问主机上的 Maven 仓库volumes:- ./tencent:/tencent- ~/.m2:/root/.m2# 将容器的网络模式设置为主机模式,使得容器内的应用程序可以直接使用主机的网络资源,提高应用程序的网络性能network_mode: host# 容器启动时执行的命令,清除 Maven 缓存并启动 Spring Boot 应用程序command: mvn clean spring-boot:run

启动项目

docker-compose up

之后将会下载大量jar包到你的本地maven仓库。

image-20230609163403228

成功后有如下信息。

image-20230609163500356

这证明项目可以顺利启动,使用ctrl+C结束,换这个命令运行我们的项目。

docker-compose up -d

可以看到项目已经正在运行。

image-20230609164012239

通过网页即可访问。

image-20230609164040377

配置前端

同理,以上的步骤就是在配置后端,配置前端模仿即可。

新建空白文件夹

mkdir /srv/tencent
mkdir /srv/tencent/page

拉取前端代码

/srv/tencent/page下执行

git clone git@github.com:PerCheung/mytencentpage.git

创建nginx.conf

/srv/tencent/page下创建nginx.conf如下

server {# 监听端口号为 8080listen 8080;# 服务器名为 localhostserver_name localhost;# 设置字符集为 utf-8charset utf-8;# 设置根目录为 /usr/share/nginx/filesroot /usr/share/nginx/files;
}

创建docker-compose.yaml

/srv/tencent/page下创建docker-compose.yaml如下

version: '3'
services:tencent_page:# 使用 nginx:1.21.1 镜像作为容器image: nginx:1.21.1# 设置容器名称为 tencent_pagecontainer_name: tencent_page# 启用特权模式,以便容器内部可以执行一些特殊操作privileged: true# 挂载本地 dist 目录到容器内的 /usr/share/nginx/files 目录volumes:- ./mytencentpage/dist:/usr/share/nginx/files# 挂载本地 nginx.conf 文件到容器内的 /etc/nginx/conf.d/default.conf 文件- ./nginx.conf:/etc/nginx/conf.d/default.conf# 将容器内的 8080 端口映射到宿主机的 80 端口ports:- 80:8080# 启动容器时执行的命令,创建 /usr/share/nginx/files 目录并启动 nginx 服务command: /bin/bash -c "mkdir -p /usr/share/nginx/files && nginx -g 'daemon off;'"

启动服务

docker-compose up -d

查看是否在运行

image-20230609174011772

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/43489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT学习笔记-QT5.15编译及安装谷歌拼音输入法(QtInputMethod_GooglePinyin)

QT学习笔记-QT5.15编译及安装谷歌拼音输入法(QtInputMethod_GooglePinyin) 0、背景1、环境2、下载QtInputMethod_GooglePinyin源码3、使用MinGW64构建套件编译3.1 编译QtInputMethod_GooglePinyin源码3.2、部署tgtsmlInputContextPlugin输入法插件3.3、运…

分布式 - 服务器Nginx:一小时入门系列之负载均衡

文章目录 1. 负载均衡2. 负载均衡策略1. 轮询策略2. 最小连接策略3. IP 哈希策略4. 哈希策略5. 加权轮询策略 1. 负载均衡 跨多个应用程序实例的负载平衡是一种常用技术,用于优化资源利用率、最大化吞吐量、减少延迟和确保容错配置。‎使用 nginx 作为非常有效的HT…

2023 最新版网络安全保姆级指南,从 0 基础进阶网络攻防工程师

一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…

Lnton羚通关于PyTorch的保存和加载模型基础知识

SAVE AND LOAD THE MODEL (保存和加载模型) PyTorch 模型存储学习到的参数在内部状态字典中,称为 state_dict, 他们的持久化通过 torch.save 方法。 model models.shufflenet_v2_x0_5(pretrainedTrue) torch.save(model, "../../data/ShuffleNetV2_X0.5.pth…

vue2.6升级vue2.7(panjiachen升级指南)vue-cli5多页面应用升级的坑

vue2.7升级指南 vue2.7升级指南 之前的架子使用的是 panjiachen,使用的是 vue2.6.14,现在升级为 vue2.7.x 升级vue/cli vue upgrade 这里推荐使用 vue upgrade 命令自动升级 # 确保安装全局 vue/cli $ npm install -g vue/cli $ vue upgradeWARN Th…

水库大坝安全监测MCU,提升大坝管理效率的利器!

水库大坝作为防洪度汛的重要设施,承担着防洪抗旱,节流发电的重要作用。大坝的安全直接关系到水库的安全和人民群众的生命财产安全。但因为水库大坝的隐患不易被察觉,发现时往往为时已晚。因此,必须加强对大坝的安全管理。其安全监…

RFID技术助力汽车零配件装配产线,提升效率与准确性

随着科技的不断发展,越来越多的自动化设备被应用到汽车零配件装配产线中。其中,射频识别(Radio Frequency Identification,简称RFID)技术凭借其独特的优势,已经成为了这一领域的重要技术之一。本文将介绍RF…

【SLAM】ORBSLAM34macOS: ORBSLAM3 Project 4(for) macOS Platform

文章目录 配置ORBSLAM34macOS 版本运行步骤:版本修复问题记录:编译 fix运行 fix 配置 硬件:MacBook Pro Intel CPU 系统:macOS Ventura 13.4.1 ORBSLAM34macOS 版本 https://github.com/phdsky/ORB_SLAM3/tree/macOS 运行步骤&…

初识结构体

文章目录 目录1. 结构体类型的声明1.1 结构的基础知识1.2 结构的声明1.3 结构成员的类型1.4 结构体变量的定义和初始化 2. 结构体成员的访问3. 结构体传参 目录 结构体类型的声明结构体初始化结构体成员访问结构体传参 1. 结构体类型的声明 1.1 结构的基础知识 结构是一些值的…

三维可视化平台有哪些?Sovit3D可视化平台怎么样?

随着社会经济的发展和数字技术的进步,互联网行业发展迅速。为了适应新时代社会发展的需要,大数据在这个社会经济发展过程中随着技术的进步而显得尤为重要。同时,大数据技术的快速发展进程也推动了可视化技术的飞速发展,国内外各类…

四层和七层负载均衡的区别

一、四层负载均衡 四层就是ISO参考模型中的第四层。四层负载均衡器也称为四层交换机,它主要时通过分析IP层和TCP/UDP层的流量实现的基于“IP端口”的负载均衡。常见的基于四层的负载均衡器有LVS、F5等。 以常见的TCP应用为例,负载均衡器在接收到第一个来…

hive-无法启动hiveserver2

启动hiveserver2没有反应&#xff0c;客户端也无法连接( beeline -u jdbc:hive2://node01:10000 -n root) 报错如下 查看hive的Log日志&#xff0c;发现如下报错 如何解决 在hive的hive_site.xml中添加如下代码 <property><name>hive.server2.active.passive…

电机故障诊断(python程序,模型为MSCNN结合LSTM结合注意力机制模型,有注释)

代码运行环境要求&#xff1a;TensorFlow版本>2.4.0&#xff0c;python版本>3.6.0 1.电机常见的故障类型有以下几种&#xff1a; 轴承故障&#xff1a;轴承是电机运转时最容易受损的部件之一。常见故障包括磨损、疲劳、过热和润滑不良&#xff0c;这些问题可能导致噪音增…

Hlang--用Python写个编程语言-判断与循环

文章目录 前言语法描述判断循环词法解析语法解析定义节点生成节点判断节点循环节点解释器处理判断节点循环处理前言 okey,很好,在上一篇文章当中,我们实现了这个基本的逻辑运算,所以的话,在这里,我们将可以实现到我们的这个判断和循环了。由于这里的话,我们的操作其实和…

TiDB Bot:用 Generative AI 构建企业专属的用户助手机器人

本文介绍了 PingCAP 是如何用 Generative AI 构建一个使用企业专属知识库的用户助手机器人。除了使用业界常用的基于知识库的回答方法外&#xff0c;还尝试使用模型在 few shot 方法下判断毒性。 最终&#xff0c;该机器人在用户使用后&#xff0c;点踩的比例低于 5%&#xff0…

汽车租赁管理系统/汽车租赁网站的设计与实现

摘 要 租赁汽车走进社区&#xff0c;走进生活&#xff0c;成为当今生活中不可缺少的一部分。随着汽车租赁业的发展&#xff0c;加强管理和规范管理司促进汽车租赁业健康发展的重要推动力。汽车租赁业为道路运输车辆一种新的融资服务形式、广大人民群众一种新的出行消费方式和…

龙蜥社区安全联盟(OASA)正式成立,启明星辰、绿盟、360 等 23 家厂商重磅加入

7 月 28 日&#xff0c;由启明星辰、绿盟、360、阿里云、统信软件、浪潮信息、中兴通讯&#xff5c;中兴新支点、Intel、中科院软件所等 23 家单位共同发起的龙蜥社区安全联盟&#xff08;OASA&#xff0c;OpenAnolisSecurityAlliance&#xff09;&#xff08;以下简称“安全联…

insightface安装过程中提示 Microsoft Visual C++ 14.0 or greater is required.

pip install insightface安装过程中提示 Microsoft Visual C 14.0 or greater is required.Get it with "Microsoft C Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 根据提示网站访问官网下载生成工具 打开软件后会自动更新环境&#…

集群、负载均衡集群、高可用集群简介,LVS工作结构、工作模式、调度算法和haproxy/nginx模式拓扑介绍

一.集群的定义 1.定义 2.分类 &#xff08;1&#xff09;负载均衡集群&#xff08;LBC/LB&#xff09; &#xff08;2&#xff09;高可用集群&#xff08;HAC&#xff09; 二.使用集群的意义 1.高性价比和性能比 2.高可用性 3.可伸缩性强 4.持久和透明性高 三.常见的…

运维监控学习笔记9

2、画出拓扑图的小案例&#xff1a; 3、在连接的线上显示网络流量&#xff0c;使用了一个简单的公式&#xff1a; {nginx-server:net.if.out[ens33].last(0)} 4、在screens中显示nginx的状态页面&#xff1a; 5、zabbix报警&#xff1a; 发送邮件的选项。Email可以使用&#xf…