Docker應用部署之mysql篇(day5)


文章目錄

  • 前言
  • 一、問題描述
  • 二、解決方案
    • 1. 搜索 MySQL 鏡像
    • 2. 拉取 MySQL 鏡像
    • 3. 創建并運行 MySQL 容器
      • 參數說明:
    • 4. 驗證容器是否運行
    • 5. 進入 MySQL 容器
  • 三、總結

前言

在日常開發和部署中,MySQL 是最常用的關系型數據庫之一。借助 Docker,我們可以快速拉取 MySQL 鏡像并運行容器,簡化數據庫的安裝和管理。本文將詳細介紹如何使用 Docker 部署 MySQL,包括鏡像搜索、拉取、創建容器、端口映射和數據持久化等關鍵步驟。


一、問題描述

在實際項目中,我們通常需要一個可隨時啟停、易于管理的 MySQL 數據庫。手動安裝 MySQL 可能涉及較多的配置和依賴問題,而使用 Docker 方式可以大大簡化這一過程。

本文的目標是使用 Docker 快速搭建 MySQL 數據庫,并進行基本的端口映射和數據持久化,以便后續開發使用。


二、解決方案

1. 搜索 MySQL 鏡像

首先,我們可以使用以下命令在 Docker Hub 中搜索 MySQL 相關鏡像:

docker search mysql

執行后,將會返回一個 MySQL 相關鏡像的列表,其中 mysql 是官方維護的鏡像。

2. 拉取 MySQL 鏡像

使用以下命令拉取 MySQL 官方鏡像:

docker pull mysql:latest

如果需要指定特定版本,例如 MySQL 5.6,可以使用:

docker pull mysql:5.6

在這里插入圖片描述

拉取完成后,可以通過 docker images 命令查看本地鏡像列表。
在這里插入圖片描述

3. 創建并運行 MySQL 容器

運行以下命令,創建MySQL的文件夾:

mkdir mysql
cd mysql

運行以下命令,在 Docker 中創建并啟動一個 MySQL 容器:

docker run -id \
-p 3307:3306 \
--name=mysql_app \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6

參數說明:

  • -i:使容器保持交互模式,允許用戶進入。
  • -d:后臺運行容器。
  • -p 3307:3306:將宿主機的 3307 端口映射到容器的 3306 端口,防止與本機已有的 MySQL 端口沖突。
  • --name=mysql_app:設置容器名稱為 mysql_app
  • -v $PWD/conf:/etc/mysql/conf.d:將宿主機當前目錄下的 conf 文件夾掛載到 MySQL 配置目錄,方便修改配置。
  • -v $PWD/logs:/logs:將日志文件存儲到宿主機的 logs 目錄,方便查看日志信息。
  • -v $PWD/data:/var/lib/mysql:將 MySQL 數據庫的數據文件存儲到宿主機 data 目錄,實現數據持久化。
  • -e MYSQL_ROOT_PASSWORD=123456:設置 MySQL root 用戶的密碼為 123456
  • mysql:5.6:使用 MySQL 5.6 版本。
    在這里插入圖片描述

4. 驗證容器是否運行

使用以下命令查看正在運行的容器:

docker ps

如果 MySQL 正常運行,你會看到 mysql_container 在列表中。

5. 進入 MySQL 容器

執行以下命令進入 MySQL 容器的 Shell,即可進入 MySQL 命令行

docker exec -it mysql_app mysql -uroot -p123456

在這里插入圖片描述
部署成功!

三、總結

本文介紹了如何使用 Docker 部署 MySQL,包括:

  1. 搜索 MySQL 官方鏡像
  2. 拉取 MySQL 鏡像
  3. 創建 MySQL 容器并設置端口和數據持久化
  4. 驗證容器狀態并連接 MySQL

通過 Docker 部署 MySQL,避免了繁瑣的手動安裝過程,使開發環境更加輕量和高效。后續可以基于此進一步配置 MySQL,例如創建用戶、調整字符集等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75844.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75844.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75844.shtml

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

相關文章

【Elasticsearch基礎】基本核心概念介紹

Elasticsearch作為當前最流行的分布式搜索和分析引擎,其強大的功能背后是一套精心設計的核心概念體系。本文將深入解析Elasticsearch的五大核心概念,幫助開發者構建堅實的技術基礎,并為高效使用ES提供理論支撐。 1 索引(Index&…

Qt在ARM中,如何使用drmModeObjectSetProperty 設置 Plane 的 zpos 值

在 Qt 中直接使用 drmModeObjectSetProperty 設置 Plane 的 zpos 值需要結合 Linux DRM/KMS API 和 Qt 的底層窗口系統(如 eglfs 平臺插件)。以下是詳細步驟和代碼示例: 1. 原理說明 DRM/KMS 基礎: Plane:負責圖層合成…

MFC添加免費版大漠3.1233

先創建一個MFC工程, 添加dm.dll 方法一:通過類向導-添加類-類型庫中的MFC類-文件,選擇dm.dll,如果沒有"添加類型庫中的MFC類"選項就用方法二添加 方法二:添加-新建項-MFC-Active或TypeLib-實現接口位置選…

【Linux】應用層協議 HTTP

應用層協議 HTTP 一. HTTP 協議1. URL 地址2. urlencode 和 urldecode3. 請求與響應格式 二. HTTP 請求方法1. GET 和 POST (重點) 三. HTTP 狀態碼四. HTTP 常見報頭五. 手寫 HTTP 服務器 HTTP(超文本傳輸協議)是一種應用層協議,用于在萬維網…

【活動回顧】StarRocks Singapore Meetup #2 @Shopee

3 月 13 日,StarRocks 社區在新加坡成功舉辦了第二場 Meetup 活動,主題為“Empowering Customer-Facing Analytics”。本次活動在 Shopee 新加坡辦公室舉行,吸引了來自 Shopee、Grab 和 Pinterest 的專家講師以及 50 多位參會者。大家圍繞電商…

Retinexformer:基于 Retinex 的單階段 Transformer 低光照圖像增強方法

開頭發點牢騷:本來做的好好都都要中期了,導師怎么突然給我換題目啊。真是繃不住了......又要從頭開始學了,唉! 原論文鏈接:Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement 低光…

后端——AOP異步日志

需求分析 在SpringBoot系統中,一般會對訪問系統的請求做日志記錄的需求,確保系統的安全維護以及查看接口的調用情況,可以使用AOP對controller層的接口進行增強,作日志記錄。日志保存在數據庫當中,為了避免影響接口的響…

flink廣播算子Broadcast

文章目錄 一、Broadcast二、代碼示例三.或者第二種(只讀取一個csv文件到廣播內存中)提示:以下是本篇文章正文內容,下面案例可供參考 一、Broadcast 為了關聯一個非廣播流(keyed 或者 non-keyed)與一個廣播流(BroadcastStream),我們可以調用非廣播流的方法 connect(),…

Redis 和 MySQL雙寫一致性的更新策略有哪些?常見面試題深度解答。

目錄 一. 業務數據查詢,更新順序簡要分析 二. 更新數據庫、查詢數據庫、更新緩存、查詢緩存耗時對比 2.1 更新數據庫(最慢) 2.2 查詢數據庫(較慢) 2.3 更新緩存(次快) 2.4 查詢緩存&#…

SRT協議

SRT(Secure Reliable Transport)是一種開源的視頻傳輸協議,專為高丟包、高延遲網絡環境設計,結合了UDP的低延遲和TCP的可靠性,廣泛應用于直播、遠程制作、視頻會議等場景。 定位:SRT協議的官方C/C實現庫&am…

“征服HTML引號惡魔:“完全解析手冊”!!!(quot;表示雙引號)

&#x1f6a8;&#x1f4e2; "征服HTML引號惡魔&#xff1a;“完全解析手冊” &#x1f4e2;&#x1f6a8; &#x1f3af; 博客引言&#xff1a;當引號變成"惡魔" &#x1f631; 是否遇到過這種情況&#xff1a; 寫HTML時滿心歡喜輸入<div title"他…

npm install 卡在創建項目:sill idealTree buildDeps

參考&#xff1a; https://blog.csdn.net/PengXing_Huang/article/details/136460133 或者再執行 npm install -g cnpm --registryhttps://registry.npm.taobao.org 或者換梯子

c++中cpp文件從編譯到執行的過程

C 文件從編寫到執行的過程可以分為幾個主要階段&#xff1a;編寫代碼、預處理、編譯、匯編、鏈接和運行。以下是每個階段的詳細說明&#xff1a; 1. 編寫代碼 這是整個過程的起點。程序員使用文本編輯器&#xff08;如 VSCode、Sublime Text 或其他 IDE&#xff09;編寫 C 源…

PROE 與 STL 格式轉換:開啟 3D 打印及多元應用的大門

在 3D 設計與制造的復雜生態中&#xff0c;將 PROE 格式轉換為 STL 格式絕非無端之舉&#xff0c;而是有著深厚且多元的現實需求作為支撐。 一、文件格式介紹? &#xff08;一&#xff09;PROE 格式? PROE 作為一款參數化設計軟件&#xff0c;采用基于特征的參數化建模技術…

開發中后端返回下劃線數據,要不要統一轉駝峰?

先說結論。看情況&#xff01;&#xff01;&#xff01;&#xff01; 前端 主要用 JS/TS 建議后端返回 camelCase&#xff0c;減少前端轉換成本。后端 主要是 Python/Go 建議保持 snake_case&#xff0c;前端做轉換。但是團隊統一風格最重要&#xff01;如果統一返回駝峰就駝峰…

docker pull時報錯:https://registry-1.docker.io/v2/

原文&#xff1a;https://www.cnblogs.com/sdgtxuyong/p/18647915 https://www.cnblogs.com/OneSeting/p/18532166 docker 換源&#xff0c;解決連接不上的問題。 編輯以下文件&#xff0c;不存在則創建&#xff1a; vim /etc/docker/daemon.json {"registry-mirrors&qu…

Pytorch學習筆記(十二)Learning PyTorch - NLP from Scratch

這篇博客瞄準的是 pytorch 官方教程中 Learning PyTorch 章節的 NLP from Scratch 部分。 官網鏈接&#xff1a;https://pytorch.org/tutorials/intermediate/nlp_from_scratch_index.html 完整網盤鏈接: https://pan.baidu.com/s/1L9PVZ-KRDGVER-AJnXOvlQ?pwdaa2m 提取碼: …

基礎算法02——冒泡排序(Bubble Sort)

冒泡排序&#xff08;Bubble Sort&#xff09; 冒泡排序&#xff1a;是一種簡單的排序算法&#xff0c;其基本思想是通過重復遍歷要排序的列表&#xff0c;比較相鄰的元素&#xff0c;并在必要時&#xff08;即前面的數比后面的數大的時候&#xff09;交換它們的位置&#xff…

RestTemplate遠程調用接口方式

1.Post(body空參) 也就是說需要給一個空的json 代碼: String getDeviceUrl this.MOVABLE_URL "detected-data/getMachineLists"; // 遠程調用 RestTemplate restTemplate new RestTemplate(); restTemplate.getMessageConverters().set(1,new StringHttpMessageC…

ar頭顯和眼鏡圖像特效處理

使用一個線程從攝像頭或者其他設備循環讀取圖像數據寫入鏈表&#xff0c;另一個線程從鏈表循環讀取數據并做相應的特效處理&#xff0c;由于寫入的速度比讀取的快&#xff0c;最終必然會因為寫入過快導致線程讀寫一幀而引發沖突和數據幀正常數據幀被覆蓋。最好使用共享內存&…