最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker安裝mysql并實(shí)現(xiàn)數(shù)據(jù)卷掛載的示例代碼

 更新時(shí)間:2024年10月24日 09:36:48   作者:__imperfect__  
本文介紹了如何通過Docker安裝MySQL并實(shí)現(xiàn)了數(shù)據(jù)卷掛載,詳細(xì)說明了創(chuàng)建容器、配置掛載以及驗(yàn)證數(shù)據(jù)持久性的步驟,對于需要在Docker環(huán)境下部署MySQL的用戶非常有幫助

1.下載mysql的鏡像

我們先通過docker命令docker pull mysql:latest下載docker的鏡像

這里我們可以在mysql:后加上我們想要的版本,這里如果沒有指定版本將會下載最新的latest版本

2.數(shù)據(jù)卷掛載

在創(chuàng)建mysql容器之前,我們先了解一下什么時(shí)數(shù)據(jù)卷掛載:

首先,每當(dāng)我們創(chuàng)建一個(gè)容器,容器內(nèi)部的文件和宿主機(jī)文件是分離開的,這里會有兩個(gè)比較重要的問題:

  • 我們?nèi)绻苯硬僮鱩ysql容器中的文件會很麻煩,在容器中目錄層級可能會很復(fù)雜
  • 我們?nèi)绻獙ysql進(jìn)行升級或者其他操作,那么數(shù)據(jù)卷會隨之丟失,我們的數(shù)據(jù)庫中的數(shù)據(jù)也會隨之一起丟失

那么我們有什么方法去解決呢?當(dāng)然就是數(shù)據(jù)卷掛載,我們先創(chuàng)建一個(gè)mysql容器來體驗(yàn)一下什么是容器

docker run -d \
--name mysql-demo \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql?

我這里因?yàn)?306端口已經(jīng)有一個(gè)mysql容器,所以我用3307端口來演示

在這里插入圖片描述

下面逐條來解釋一下每一條命令的含義

# 創(chuàng)建并運(yùn)行一個(gè)容器,-d 是讓容器在后臺運(yùn)行 
docker run 

# 給容器起一個(gè)名字(mysql),必須唯一
--name mysql

# 設(shè)置端口映射 <宿主機(jī)端口>:<容器內(nèi)端口>
-p 3306:3306

# 設(shè)置環(huán)境變量
-e KEY=VALUE

# 指定運(yùn)行時(shí)的鏡像的名字,一般由兩部分組成:[repository]:[tag],其中repostory就是鏡像名,tag是鏡像的版本,沒有指定tag時(shí),默認(rèn)是latest,代表最新版本的鏡像
mysql

接下來可以通過docker ps來查看我們的已經(jīng)啟動的容器

在這里插入圖片描述

通過docker inspect mysql-demo可以查看我們mysql-demo容器的詳細(xì)信息,我們這里找到Mounts這里,這里就是我們mysql-demo容器的詳細(xì)掛載信息。

在這里插入圖片描述

看到這里你可能會問,我還不會設(shè)置容器的數(shù)據(jù)卷掛載,為什么他這里直接自動掛載了呢?

這是因?yàn)槲覀冊趧?chuàng)建容器的時(shí)候,docker會幫我們自動生成一個(gè)匿名卷,然后和我們的mysql容器進(jìn)行掛載,我們可以docker volume ps通過查看所有的數(shù)據(jù)卷信息,對應(yīng)上圖發(fā)現(xiàn),這個(gè)就是我們對應(yīng)的數(shù)據(jù)卷,我們mysql容器的數(shù)據(jù)都會存放在這里。

在這里插入圖片描述

但是這名字也太長了,我們后期也不好維護(hù),我們可以在創(chuàng)建容器的時(shí)候就指定數(shù)據(jù)卷的掛載
先將剛剛創(chuàng)建的mysql容器刪除docker rm -f mysql-demo

現(xiàn)在我們可以挑選一個(gè)地方來存儲我們的數(shù)據(jù)卷,我這里以/root目錄下來演示,先創(chuàng)建一個(gè)目錄,并進(jìn)入該目錄

mkdir mysql-demo

cd mysql-demo

創(chuàng)建conf、data、init目錄

mkdir conf
mkdir data
mkdir init

進(jìn)入conf目錄

cd conf

創(chuàng)建并編寫一個(gè).cnf配置文件,只要后綴是cnf即可,名字可以任意,我這里命名為custom.cnf

vi custom.cnf

編寫內(nèi)容如下,作用:在linux系統(tǒng)中查看數(shù)據(jù)庫內(nèi)容出現(xiàn)中文亂碼

[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

到這里我們可以直接來創(chuàng)建并運(yùn)行MySQL容器

docker run -d \
--name mysql-demo \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /root/mysql-demo/data:/var/lib/mysql \
-v /root/mysql-demo/init:/docker-entrypoint-initdb.d \
-v /root/mysql-demo/conf:/etc/mysql/conf.d \
mysql

這次我們的命令和上面不同的是多出了三個(gè)-v 開頭的命令,這就是指定數(shù)據(jù)卷目錄掛載的命令

我們可以再次查看mysql容器的掛載信息

docker inspect mysql-demo

在這里插入圖片描述

到這里,我們就實(shí)現(xiàn)了數(shù)據(jù)卷的掛載,那么到底有什么用呢?

3.為什么要實(shí)現(xiàn)數(shù)據(jù)卷掛載?

實(shí)現(xiàn)數(shù)據(jù)卷掛載,只要我們每次創(chuàng)建容器掛載的是同一目錄,那么我們就可以將數(shù)據(jù)保留,不會造成數(shù)據(jù)的丟失我們可以先進(jìn)入mysql容器docker exec -it mysql-demo bash然后連接mysqlmysql -u root -p123接著我們可以創(chuàng)建一個(gè)數(shù)據(jù)庫create database mysql_test;查看當(dāng)前所有的數(shù)據(jù)庫show databases;

在這里插入圖片描述

我們退出mysqlexit再推出mysql容器exit刪除剛剛創(chuàng)建的mysql容器docker rm -f mysql-demo現(xiàn)在我們可以通過docker ps -a命令來查看當(dāng)前的所有容器,發(fā)現(xiàn)mysql-demo已經(jīng)被刪除,我們再次運(yùn)行上面的創(chuàng)建容器命令,這里我們可以給我們的容器改一個(gè)名稱

docker run -d \
--name mysql-demo2 \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /root/mysql-demo/data:/var/lib/mysql \
-v /root/mysql-demo/init:/docker-entrypoint-initdb.d \
-v /root/mysql-demo/conf:/etc/mysql/conf.d \
mysql

進(jìn)入mysql容器,發(fā)現(xiàn)我們之前創(chuàng)建的mysql_test表還在,相信你也對數(shù)據(jù)卷掛載有了一個(gè)清晰的認(rèn)識

在這里插入圖片描述

到此這篇關(guān)于docker安裝mysql并實(shí)現(xiàn)數(shù)據(jù)卷掛載的示例代碼的文章就介紹到這了,更多相關(guān)docker mysql數(shù)據(jù)卷掛載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • docker如何刪除懸空鏡像

    docker如何刪除懸空鏡像

    文章介紹了如何使用Docker命令刪除懸空鏡像,以提高服務(wù)器空間利用率,通過使用docker image命令結(jié)合filter和awk工具,可以過濾出沒有Tag的鏡像,并將其刪除,總結(jié)了兩種方法,一種是通過管道和awk命令,另一種是使用更簡單的docker rmi命令
    2025-02-02
  • Docker數(shù)據(jù)卷掛載方式

    Docker數(shù)據(jù)卷掛載方式

    文章介紹了Docker數(shù)據(jù)卷的作用和使用方法,包括數(shù)據(jù)卷的創(chuàng)建、查看、刪除以及掛載,數(shù)據(jù)卷的主要優(yōu)點(diǎn)是將數(shù)據(jù)與容器分離,解耦合,便于操作容器內(nèi)的數(shù)據(jù),保證數(shù)據(jù)安全,通過掛載數(shù)據(jù)卷,可以在宿主機(jī)上修改容器中的數(shù)據(jù),并且可以方便地進(jìn)行數(shù)據(jù)的復(fù)用和升級維護(hù)
    2024-12-12
  • Docker本地部署SSR前端項(xiàng)目實(shí)戰(zhàn)指南

    Docker本地部署SSR前端項(xiàng)目實(shí)戰(zhàn)指南

    本文介紹了Docker本地部署SSR前端項(xiàng)目實(shí)戰(zhàn)指南,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • 使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像

    使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像

    這篇文章主要介紹了使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Docker部署Nacos單機(jī)版全過程

    Docker部署Nacos單機(jī)版全過程

    本文介紹了Nacos與MCP結(jié)合解決分布式系統(tǒng)配置管理及工具調(diào)用碎片化問題的方案,詳細(xì)描述了Nacos和MCP的功能、安裝步驟及集群部署方法
    2025-10-10
  • 安裝docker-ce報(bào)錯(cuò)yum倉庫錯(cuò)誤問題及解決

    安裝docker-ce報(bào)錯(cuò)yum倉庫錯(cuò)誤問題及解決

    安裝Docker-CE時(shí),可能會因依賴軟件版本不足導(dǎo)致報(bào)錯(cuò),解決方法包括使用yum update更新軟件包,若倉庫無該包則需更新repo源,也可通過yum install -y docker-ce --skip-broken跳過依賴更新直接安裝,若遇yum命令執(zhí)行報(bào)錯(cuò)
    2024-11-11
  • docker容器中布置靜態(tài)網(wǎng)站的實(shí)現(xiàn)

    docker容器中布置靜態(tài)網(wǎng)站的實(shí)現(xiàn)

    這篇文章主要介紹了docker容器中布置靜態(tài)網(wǎng)站的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 使用Maven和遠(yuǎn)程Docker基于Dockerfile構(gòu)建SpringBoot應(yīng)用鏡像

    使用Maven和遠(yuǎn)程Docker基于Dockerfile構(gòu)建SpringBoot應(yīng)用鏡像

    本文重點(diǎn)給大家介紹使用Maven和遠(yuǎn)程Docker基于Dockerfile構(gòu)建SpringBoot應(yīng)用鏡像的相關(guān)操作,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Docker容器搭建并運(yùn)行實(shí)現(xiàn)過程詳解

    Docker容器搭建并運(yùn)行實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Docker容器搭建并運(yùn)行實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • docker?images的常用方式

    docker?images的常用方式

    這篇文章主要介紹了docker?images的常用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

永春县| 城市| 永宁县| 兴文县| 临沧市| 文安县| 高雄县| 吕梁市| 西和县| 武定县| 桃源县| 明光市| 呼玛县| 阿图什市| 扎鲁特旗| 乐都县| 宾阳县| 上虞市| 洛川县| 北海市| 泽州县| 龙州县| 阳泉市| 札达县| 文登市| 区。| 桐城市| 华宁县| 宿迁市| 金昌市| 开原市| 新田县| 银川市| 高阳县| 南康市| 遵义市| 镇沅| 章丘市| 高要市| 德钦县| 玉树县|