一、拉取數據庫鏡像,根據自己的需求找到對應的 mysql 版本, 通過docker pull命令下載。可以在docker的鏡像倉庫找到不同TAG標簽的版本https://hub.docker.com/_/mysql?tab=tags,我們這里選擇5.7版本
命令:docker pull mysql:5.7
然后查看鏡像是否下載成功,命令:docker images
二、配置Mysql,創建mysql目錄,用於存放mysql相關配置及數據
mkdir -p :遞歸創建目錄,即使上級目錄不存在,會按目錄層級自動創建目錄
~ : ”/“是根目錄,”~“是家目錄。Linux存儲是以掛載的方式,相當於是樹狀的,源頭就是”/“,也就是根目錄。
而每個用戶都有”家“目錄,也就是用戶的個人目錄,比如root用戶的”家“目錄就是/root,普通用戶a的家目錄就是/home/a
創建完成后,在當前用戶的home目錄(root用戶在root目錄),會有三個文件夾。
三、運行mysql容器,命令:docker run -p 3309:3306 --name wwhmysql -v ~/wwh/mysql/conf:/etc/mysql/conf.d -v ~/wwh/mysql/logs:/logs -v ~/wwh/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令說明:
- --name 重命名wwhmysql
- -p 3309:3306:將容器的 3306 端口映射到主機的 3309 端口。
- -v -v /wwh/mysql/conf:/etc/mysql/conf.d:將主機/wwh/mysql/conf 掛載到容器的 /etc/mysql/my.cnf。
- -v /wwh/mysql/logs:/logs:將主機/wwh/mysql 目錄掛載到容器的 /logs。
- -v ~/wwh/mysql/data:/var/lib/mysql :將主機~/wwh/mysql/data目錄掛載到容器的 /var/lib/mysql 。
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
- -d 掛后台運行
啟動完成后,查看運行狀態,命令:docker ps
安裝好查看data目錄的數據,命令:pwd
四、遠程連接數據庫
注意:如果防火牆打開了,要把3309端口號加到防火牆中,要么就關閉防火牆
centos7關閉防火牆,命令:systemctl stop firewalld.service
centos7查看防火牆的狀態,命令:firewall-cmd --state
centos7開放端口號:
firewall-cmd --add-port=3309/tcp --permanent
firewall-cmd --add-port=3309/udp --permanent
firewall-cmd --reload
五、打開Navicat進行連接,注意端口號,密碼為:123456