歡迎關(guān)注個人微信公眾號: 小哈學(xué)Java, 文末分享阿里 P8 高級架構(gòu)師吐血總結(jié)的 《Java 核心知識整理&面試.pdf》資源鏈接??!
個人網(wǎng)站: https://www.exception.site/docker/docker-install-mysql
本節(jié)中,我們將學(xué)習(xí)如何通過 Docker 快速安裝與搭建 Mysql 環(huán)境。
一、下載 Mysql 鏡像
這里以 Mysql 5.7 為例:
docker pull mysql:5.7
下載完成后,通過 docker images 檢查一下鏡像是否下載成功:
二、先以最簡單方式啟動
先以簡單的方式啟動:
docker run -d \
--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
-
-d:以后臺的方式運行; -
--name mysql:指定容器的名稱為 mysql; -
-p 3306:3306將容器的 3306 端口掛載到宿主機的 3306 端口上; -
-e MYSQL_ROOT_PASSWORD=123456:指定 root 的密碼為 123456
命令執(zhí)行完成后,你也可以通過 docker ps命令來確認下容器是否啟動成功。若成功,我們需要將容器中的目錄文件復(fù)制到宿主機中,分別包括:
- mysql 配置文件;
- 數(shù)據(jù)存儲目錄,以便掛載(PS: 若不掛載到宿主機,每次啟動容器數(shù)據(jù)都會丟失)
# 將容器中的 mysql 配置文件復(fù)制到宿主機中指定路徑下,路徑你可以根據(jù)需要,自行修改
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /usr/local/docker/mysql/config
# 將容器中的 mysql 存儲目錄復(fù)制到宿主機中
docker cp mysql:/var/lib/mysql/ /usr/local/docker/mysql/data
完成這一切后,讓我們將剛剛運行的容器刪除掉。
docker rm -f mysql
PS: mysql 是我們運行容器時,指定的名稱,當(dāng)然,你也可以先執(zhí)行
docker ps, 通過容器 ID 來刪除。
三、正式運行 Mysql 容器
接下來,正式運行 Mysql 容器:
docker run -d \
--name mysql \
-p 3306:3306 \
-v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /usr/local/docker/mysql/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
其他不變,額外添加了兩個掛載子命令:
-
-v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf: 將容器中 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件掛載到宿主機的 /usr/local/docker/mysql/config/mysqld.cnf 文件上; -
-v /usr/local/docker/mysql/data:/var/lib/mysql: 將容器中 /var/lib/mysql 數(shù)據(jù)目錄掛載到宿主機的 /usr/local/docker/mysql/data 目錄下;
執(zhí)行命令完成后,查看下容器是否啟動:
可以看到,容器運行成功
四、通過 Mysql 客戶端連接一下試試
通過 MySQL 客戶端連接剛剛創(chuàng)建的 mysql, 看看能否連接成功:
連接成功了!
免費分享 | 面試&學(xué)習(xí)福利資源
最近在網(wǎng)上發(fā)現(xiàn)一個不錯的 PDF 資源《Java 核心知識&面試.pdf》分享給大家,不光是面試,學(xué)習(xí),你都值得擁有?。?!
獲取方式: 關(guān)注公眾號: 小哈學(xué)Java, 后臺回復(fù)資源,既可免費無套路獲取資源鏈接,下面是目錄以及部分截圖:
重要的事情說兩遍,關(guān)注公眾號: 小哈學(xué)Java, 后臺回復(fù)資源,既可免費無套路獲取資源鏈接 ?。?!