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.pswp.cn/news/43489.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43489.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43489.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Sklearn】基于隨機梯度下降算法的數據分類預測(Excel可直接替換數據)

【Sklearn】基于隨機梯度下降算法的數據分類預測(Excel可直接替換數據) 1.模型原理2.模型參數3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果1.模型原理 隨機梯度下降(Stochastic Gradient Descent,SGD)是一種優化算法,用于訓練模型的參數以最小化損失函數。在分…

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、運…

Lombok注解在JSON化中,JSON生成額外生成字段問題

問題描述: 定義如下對象 Dataclass A{private String A;public String getC() {return "abab";}} 執行如下邏輯 Autowiredprivate ObjectMapper objectMapper;Testpublic void test4() throws Exception {A a new A();a.setA("a");System.ou…

分布式 - 服務器Nginx:一小時入門系列之負載均衡

文章目錄 1. 負載均衡2. 負載均衡策略1. 輪詢策略2. 最小連接策略3. IP 哈希策略4. 哈希策略5. 加權輪詢策略 1. 負載均衡 跨多個應用程序實例的負載平衡是一種常用技術,用于優化資源利用率、最大化吞吐量、減少延遲和確保容錯配置。?使用 nginx 作為非常有效的HT…

【MySQL】如何使用Shared-memory協議(Windows)連接MySQL數據庫

文章目錄 【MySQL】如何使用Shared-memory協議(Windows)連接MySQL數據庫連接MySQL的協議使用Shared-memory協議(Windows)連接MySQL步驟1:確認MySQL服務器已啟用Shared-memory連接啟動Shared-memory連接方法 步驟2:客戶端使用shared-memory連接MySQL服務器…

神經網絡基礎-神經網絡補充概念-55-為什么是ML策略

“ML策略”(Machine Learning Strategies)是指在解決機器學習問題時,采取的一系列方法、技巧和策略。選擇適當的ML策略對于獲得高質量的模型和結果非常重要。以下是為什么要考慮ML策略的一些原因: 問題適應性:不同的機…

2023 最新版網絡安全保姆級指南,從 0 基礎進階網絡攻防工程師

一、網絡安全學習的誤區 1.不要試圖以編程為基礎去學習網絡安全 不要以編程為基礎再開始學習網絡安全,一般來說,學習編程不但學習周期長,且過渡到網絡安全用到編程的用到的編程的關鍵點不多。一般人如果想要把編程學好再開始學習網絡安全往…

Vue實例生命周期中的所有鉤子函數

在 Vue 3 中,實例生命周期的鉤子函數被整合為了兩個主要的階段:Composition API 階段和 Options API 階段。下面是 Vue 3 中的所有生命周期鉤子函數: Composition API 階段: setup //在組件實例創建之前執行,用于設…

centos 之安裝 openssl 1.1.1報錯

源碼make時報錯,可能是系統的perl的版本太低問題。 [rootlocalhost ~]# cpan -a | grep Test::More Test::More 0.92 1.302171 EXODIST/Test-Simple-1.302171.tar.gz [rootlocalhost ~]# cpan -a | grep Text::Template [rootlocalhost ~]# …

Dockerfile小記(持續)

文章目錄 信息新建用戶服務重啟數據庫相關SSH無交互安裝auth.logssh開機自啟 Apache服務配置 信息 Alpine系統 新建用戶 useradd命令參考 RUN apk update \ && apk add shadow \&& useradd -m togie \&& echo togie:12345 | chpasswd \&& &…

nginx負載均衡配置案例

一、nginx代理配置 ## 定義一個集群,名稱叫做load_balancer_testupstream load_balancer_test {#ip_hash是負載均衡策略#ip_hash;#集群下有兩個服務server 192.168.1.233:8087;server 192.168.1.243:8087;}server {#監聽8600端口listen 8600;server_name loc…

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…