虛擬機部署centos系統部署docker和mysql的安裝過程

来源:https://www.cnblogs.com/Yao-happy/p/18083844
-Advertisement-
Play Games

作者本人使用的是vmware17Pro虛擬機,大家可以去網上找相關教程下載安裝,此總結後邊有多次安裝遇到的bug,要是有地方不妥,歡迎相互交流 在剛開始時,我們先部署的是Linux虛擬機,在設置Linux系統基礎環境時,系統就基本具有一些網路服務功能,差不多類似於現實中大型的伺服器,還有設置網路這一 ...


作者本人使用的是vmware17Pro虛擬機,大家可以去網上找相關教程下載安裝,此總結後邊有多次安裝遇到的bug,要是有地方不妥,歡迎相互交流

在剛開始時,我們先部署的是Linux虛擬機,在設置Linux系統基礎環境時,系統就基本具有一些網路服務功能,差不多類似於現實中大型的伺服器,還有設置網路這一塊,把ip設成了靜態的,這樣我們在訪問該虛擬機不用每次看它自動分配的地址了,還有就是DNS伺服器,這裡是用到了公共的DNS伺服器。下邊先解釋下DNS。

DNS,全稱為Domain Name System(功能變數名稱系統),是互聯網的一項核心服務,它作為分散式資料庫存儲和管理了全球網路資源的功能變數名稱與IP地址之間的對應關係。在互聯網中,每個設備都有一個唯一的IP地址用於標識和定位,但這些數字形式的地址難以記憶,因此引入了功能變數名稱系統來提供一種更為人性化、易於理解的層次結構名稱空間。

當用戶輸入網址(如www.example.com)訪問網站時,電腦實際上需要的是該網站伺服器對應的IP地址。DNS伺服器在此過程中扮演著中介的角色,負責將用戶提供的功能變數名稱轉換為相應的IP地址。這個過程被稱為“DNS解析”。先就這樣大概瞭解吧。

這樣做是外部通過訪問你設置好的IP地址,直接訪問你Linux系統獲取資源等等,而DNS會解析這個IP地址,幫你正確找到該Linux系統,然後這樣就可以訪問了,就是一個中介。

部署好Linux系統,我們通過xshell連接Linux系統,這直接訪問它的IP地址就可以了,之後就可以操控Linux系統了,併在其上部署了docker容器,併在docker容器中下載好MySQL,通過設置Linux系統埠訪問其上的MySQL埠,可以實現物理機中MySQL客戶端通過訪問Linux系統的埠,直接訪問其上MySQL的埠。

還有一點要註意的就是那個在安裝系統時的設置

首先設置系統軟體環境配置,選擇那個基本的網路伺服器模式,因為我們要運行mysql,需要有伺服器來運行它,然後就是設置網路那個,把那個ipv4進行配置,不過感覺ipv6也可以,對於我們練習沒必要用那個地址分配,ipv4就夠了,進入到網路配置時,先把那個乙太網開關打開,會看到顯示它的ip地址,但這是自動分配,現在我們聯繫不要緊,但是以後練習多了會這個ip本來會自動分配(系統預設),你要使用這個伺服器,每次還得先找他的IP地址,比較麻煩,所以我們在其配置中設置ipv4那個設置,把地址分配改為手動,添加一個地址,這個的從虛擬機的設置網路編輯器中找到我們的對應虛擬機的網路設置,前邊兩項對應的是子網ip和網關,都可以看到,在右下角,然後網關ip在編輯器中對應系統服務的nat設置,這樣我們可以看到了,還有就是子網ip要把最後一個點的後面自己設置一個數字,範圍0-255,不過我們儘量設置大於1的小於255的,0和1已經被占用,其他沒啥,保存就OK了,還有一個硬碟設置,進去點一下然後完成即可,之後就可以開始安裝了

然後我們去阿裡雲伺服器官網,找到產品中的容器鏡像服務,然後管理控制台,進去以後有一個鏡像工具,我們是在centos上部署容器,選擇centos,然後就是有一個參考文檔連接,點進去進行手動安裝,根據centos的安裝步驟,一步一步在xshell中進行命令部署安裝,對了我們得先下載好xshell這個軟體,然後就是建立於虛擬機的連接,ip地址與上方是一樣的,用戶名密碼都通過第一次保存來以後直接連接使用,之後我們可以就進行安裝部署docker容器,這裡有個趣事就是我設置系統網路DNS伺服器為華為的,但是在以上進行部署docker會出現失敗,但是換成阿裡的DNS伺服器就可以了,說明產品要對應呀。

這裡來講一下這個docker容器,我簡單理解就是這個又相當於一個虛擬機,然後在其上運行各種各樣的應用服務,是因為這個容器將這些服務會隔離開互不影響,相當於每一個應用服務又是一個虛擬機。

docker安裝好後,我們要安裝鏡像加速器,因為這個docker伺服器在境外,所以連接專門的節點來完成我們所需要的下載,這個在阿裡雲伺服器容器鏡像那裡有,複製粘貼運行即可,對了,這裡有幾個啟動關閉等設置docker服務

systemctl start docker//啟動docker服務
systemctl stop docker//停止docker服務
systemctl restart docker//重新啟動docker服務
systemctl enable docker//打開系統一運行(開機)docker就運行
systemctl disable docker//關閉系統一運行(開機)docker就運行

然後我們使用docker pull mysql:版本號這一命令行,來完成MySQL資料庫的下載

下載好後,我們要運行並設置mysql資料庫

docker images//這個是查看docker容器中的鏡像,確保mysql是否下載好

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

//以下是docker命令的對應解釋,使用時按需來輸入

-p 3306:3306:指定宿主機埠與容器(MySQL)埠映射關係,也就是要是外部想要訪問該資料庫,需要我們把資料庫的埠映射到宿主機的埠,也就是虛擬機的埠,外部訪問虛擬機指定埠即可訪問到資料庫的埠

--name mysql:創建的容器名稱

--restart=always:總是跟隨docker啟動

--privileged=true:獲取宿主機root許可權
-v /usr/local/mysql/log:/var/log/mysql:映射日誌目錄,宿主機:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射數據目錄,宿主機:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目錄,宿主機:容器
-v /etc/localtime:/etc/localtime:ro:讓容器的時鐘與宿主機時鐘同步,避免時區的問題,ro是read only的意思,就是只讀。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql環境變數,root用戶的密碼為123456

-d mysql:latest:後臺運行mysql容器,版本是latest。

好了,以上就是虛擬機中部署docker容器以及MySQL鏡像,外部訪問資料庫的一些連接細節,這個使用於centos系統僅能使用命令行,對於ubuntu系統這個目前是桌面端,進桌面端設置網路動態變靜態,ip分配,DNS伺服器等,終端部署docker容器,以及ssh遠程訪問許可權,外部才可訪問docker容器。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 放眼全球,數據作為一種新興生產要素,在全球經貿活動中扮演著至關重要的角色,驅動著數字經濟的蓬勃興起。據前瞻預測,至2025年,全球數據流動對整體經濟增長的貢獻預估將達到驚人的11萬億美元。 近幾年國家對數據要素關註度不斷上升。2023年12月31日,國家數據局等17部門聯合印發《“數據要素×”三年行 ...
  • varchar的最大值是多少?如果你去搜索過這個答案,我相信你或多或少都看到過65535這個答案。比如我們嘗試詢問一下當下最火的人工智慧,你可能會得到和我類似答案。 ...
  • 在用Apache SeaTunnel研發SM2加密組件過程中,發現社區關於本地調試SeaTunnel文章過於簡單,很多情況沒有說明,於是根據自己遇到問題總結這篇文檔。SeaTunnel本地調試官方文檔,希望對大家有所幫助! 使用的引擎為Flink(不需要下載,SeaTunnel中有載入依賴),輸入輸 ...
  • 前言 本文記錄 ES 的一些基本操作,就是對官方文檔的一些整理,按自己的習慣重新排版,湊合著看。官方的更詳細,建議看官方的。 下文以 books 為索引名舉例。 新增 添加單個文檔 (沒有索引會自動創建) POST books/_doc {"name": "Snow Crash", "author" ...
  • 前置概念 無併發的解決方案 一些小型項目,或極少有併發的項目,這些策略在無併發情況下,不會有什麼問題。 讀數據策略:有緩存則讀緩存,然後介面返回。沒有緩存,查詢出數據,載入緩存,然後介面返回。 寫數據策略:數據發生了變動,先刪除緩存,再更新數據,等下次讀取的時候載入緩存,或一步到位更新數據後直接更新 ...
  • mysql語句總結 創建 --create 創建 <create> create database 資料庫名 [charset=utf8]; create table 數據表名 ( (欄位 類型 約束[, 欄位 類型 約束]) | -- 級聯刪除/級聯更新 on delete/update casc ...
  • Redis語句總結 一、基本概念 Redis 全稱: Remote Dictionary Server(遠程字典伺服器)的縮寫,以字典結構存儲數據,並允許其他應用通過TCP協議讀寫字典中的內容。 使用C語言編寫,並以記憶體作為數據存儲介質,所以讀寫數據的效率極高 *redis的官方只提供了linux版 ...
  • 華為雲GeminiDB是一款相容Redis協議的彈性KV(Key-Value)資料庫,支持遠超記憶體的容量和極致的性能,可支撐用戶平滑遷移,在廣告、游戲、電商等行業有著廣泛的應用。 今年3月上線的新版本,GeminiDB已全面支持Redis 6.2,用戶可在華為雲GeminiDB產品官網購買使用。新版 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...