docker安裝mariadb并在本地持久化數(shù)據(jù)方式
安裝mariadb
查找hub倉庫的mariadb鏡像
docker search mariadb
NAME DESCRIPTION STARS OFFICIAL AUTOMATED mariadb MariaDB is a community-developed fork of MyS… 3374 [OK] linuxserver/mariadb A Mariadb container, brought to you by Linux… 124
拉一個(gè)最新的mariadb鏡像
docker pull mariadb
latest: Pulling from library/mariadb 5bed26d33875: Pull complete f11b29a9c730: Pull complete
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE mariadb latest 37f5f0a258bf 3 weeks ago 356MB centos 7 5e35e350aded 5 months ago 203MB django latest eb40dcf64078 3 years ago 436MB
數(shù)據(jù)持久化的方法
一:docker數(shù)據(jù)卷容器
創(chuàng)建一個(gè)名為myblogdb數(shù)據(jù)卷(volume Manage volumes)
docker volume create myblogdb
查看myblogdb數(shù)據(jù)卷信息
docker volume inspect myblogdb
[
{
"CreatedAt": "2020-04-17T11:47:53+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/myblogdb/_data",
"Name": "myblogdb",
"Options": {},
"Scope": "local"
}
]查看所有數(shù)據(jù)卷信息
[root@asimov ~]# docker volume ls DRIVER VOLUME NAME local myblogdb
刪除數(shù)據(jù)卷
docker volume rm 數(shù)據(jù)卷名
數(shù)據(jù)卷 是被設(shè)計(jì)用來持久化數(shù)據(jù)的,它的生命周期獨(dú)立于容器,Docker 不會(huì)在容器被刪除后自動(dòng)刪除 數(shù)據(jù)卷,并且也不存在垃圾回收這樣的機(jī)制來處理沒有任何容器引用的 數(shù)據(jù)卷。
如果需要在刪除容器的同時(shí)移除數(shù)據(jù)卷??梢栽趧h除容器的時(shí)候使用 docker rm -v 這個(gè)命令
清除無主的數(shù)據(jù)卷
docker volume prune
WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue? [y/N] y Deleted Volumes: myblogdb
啟動(dòng)一個(gè)掛載數(shù)據(jù)卷的容器
[root@asimov ~]# docker run -d -P --mount source=myblog,target=/opt --name mysql_volume mariadb
--mount: 掛載目錄(或-v:目錄不存在時(shí)會(huì)自動(dòng)創(chuàng)建目錄)source=:創(chuàng)建的數(shù)據(jù)卷名(myblog),或本地目錄target=:掛載到容器中的目錄
查看mysql_volume容器
docker inspect mysql_volume
"Mounts": [
{
"Type": "volume",
"Name": "myblog", #數(shù)據(jù)卷名
"Source": "/var/lib/docker/volumes/myblog/_data", # 本地目錄
"Destination": "/opt", # 掛載到容器中的目錄
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],刪除容器同時(shí)移除數(shù)據(jù)卷
[root@asimov ~]# docker rm -v mysql_volume mysql_volume
二:掛載一個(gè)本地主機(jī)文件作為數(shù)據(jù)卷
創(chuàng)建mariadb容器并持久化到本地
[root@asimov data]# pwd /root/docker_data/mysql/data [root@asimov data]# docker run -d -p 3306:3306 -v /root/docker_data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="asimov" --name mysqlblog mariadb 7b962746a9407faefe40f0f3744c81a0d3b1e301adcc69f561e41a33785d4329
-d:后臺(tái)運(yùn)行-p 3306:3306:將內(nèi)部的3306端口映射到外部的3306-v /root/docker_data/mysql/data:/var/lib/mysql:將內(nèi)部數(shù)據(jù)庫掛載到外部-e MYSQL_ROOT_PASSWORD=yourpasswd:設(shè)置root用戶密碼--name mysqlblog:容器名mariadb:鏡像
指定mysql的配置文件
通過-v將本地的配置文件映射到docker內(nèi)部的mysql(/etc/mysql/my.cnf)
查看容器
[root@asimov data]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7b962746a940 mariadb "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:3306->3306/tcp mysqlblog 61c1a2f92913 centos:7 "/bin/bash" 46 hours ago Up 28 hours 0.0.0.0:3333->8080/tcp blog
進(jìn)入容器
[root@asimov ~]# docker exec -it mysqlblog /bin/bash
進(jìn)入數(shù)據(jù)庫
root@7b962746a940:~# mysql -uroot -p passwd Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 10.4.12-MariaDB-1:10.4.12+maria~bionic mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
創(chuàng)建數(shù)據(jù)庫
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.002 sec) MariaDB [(none)]> create database asimov default charset 'utf8'; Query OK, 1 row affected (0.000 sec)
退出容器,查看本地掛載的目錄
[root@asimov data]# pwd /root/docker_data/mysql/data [root@asimov data]# ls aria_log.00000001 aria_log_control asimov ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ibtmp1 multi-master.info mysql performance_schema [root@asimov data]# cd asimov/ [root@asimov asimov]# ls db.opt
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Docker構(gòu)建開發(fā)環(huán)境的方法步驟(?Windows和mac)
利用Docker,我們可以做很多事情。所以本文就詳細(xì)介紹了使用Docker構(gòu)建開發(fā)環(huán)境的方法步驟,分為?Windows和mac版本,具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12
Docker部署SQL?Server及最佳應(yīng)用小結(jié)
SQL?Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),本文總結(jié)了容器環(huán)境下的部署及實(shí)踐應(yīng)用,需要的朋友可以參考下2022-08-08
docker發(fā)布sunnyNgrok實(shí)現(xiàn)內(nèi)外網(wǎng)穿透的方法(容器內(nèi)執(zhí)行命令)
這篇文章主要介紹了docker上發(fā)布 sunnyNgrok 實(shí)現(xiàn)內(nèi)外網(wǎng)穿透,容器內(nèi)執(zhí)行命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
Ubuntu22.04 LTS安裝docker以及docker-compose實(shí)踐
安裝Docker引擎需卸載舊版、更新apt、添加GPG密鑰、設(shè)置存儲(chǔ)庫并安裝,docker-compose通過GitHub下載,阿里云鏡像加速需在控制臺(tái)獲取加速地址并配置2025-08-08
Docker 容器日志查看和清理的實(shí)現(xiàn)步驟
在處理Docker容器的過程中,經(jīng)常需要查看容器的日志輸出來排查問題或者進(jìn)行系統(tǒng)監(jiān)控,本文主要介紹了Docker容器日志查看和清理的實(shí)現(xiàn)步驟,感興趣的可以了解一下2023-11-11
Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解
今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
docker拉取鏡像錯(cuò)誤missing signature key的解決方法
這篇文章主要介紹了docker拉取鏡像錯(cuò)誤missing signature key的解決方法,當(dāng)我使用docker拉取一個(gè)特定的鏡像時(shí),提示錯(cuò)誤,文中給出了相關(guān)的解決方法,需要的朋友可以參考下2024-03-03

