Docker 安裝mysql

作者:xcbeyond
瘋狂源自夢想,技術(shù)成就輝煌!微信公眾號:《程序猿技術(shù)大咖》號主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗,樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項目的研發(fā)工作,涉及架構(gòu)設(shè)計、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對于Java、微服務(wù)、數(shù)據(jù)庫、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗。

目錄

1、拉取鏡像

2、配置mysql

3、mysql連接驗證

1、拉取鏡像
從docker倉庫拉取mysql 5.7版本的鏡像。

[docker@xcbeyond ~]$ docker pull mysql:5.7
5.7: Pulling from library/mysql
be8881be8156: Pull complete
c3995dabd1d7: Pull complete
9931fdda3586: Pull complete
bb1b6b6eff6a: Pull complete
a65f125fa718: Pull complete
2d9f8dd09be2: Pull complete
37b912cb2afe: Pull complete
faf9da46e0cf: Pull complete
ffcedc9e8600: Pull complete
6e11f2447e86: Pull complete
02243b284270: Pull complete
Digest: sha256:e25e2768e910223db3095c1560aa2255371986b24fbebf4b015bae3cc60b9b34
Status: Downloaded newer image for mysql:5.7
2、配置mysql
(1)創(chuàng)建mysql目錄,用于存放mysql相關(guān)配置及數(shù)據(jù)。

[docker@xcbeyond ~]$ mkdir mysql
[docker@xcbeyond ~]$ cd mysql/
[docker@xcbeyond mysql]$ pwd
/home/docker/mysql
(2)運行并啟動MySQL容器,即:配置mysql,并啟動mysql。

[docker@xcbeyond mysql]$ docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
306803948d307424b509abde434a9972b239a02aa0a8ba0945b05b0052613372
[docker@xcbeyond mysql]$ ll
total 12
drwxr-xr-x 2 root root 4096 Aug 31 23:39 conf
drwxr-xr-x 2 polkitd input 4096 Aug 31 23:39 data
drwxr-xr-x 2 root root 4096 Aug 31 23:39 logs
說明:

-p 3306:3306:將容器的 3306 端口映射到主機的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:將主機當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:將主機當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs。
-v $PWD/data:/var/lib/mysql :將主機當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
 

查看mysql容器情況:

[docker@xcbeyond mysql]$ pwd
/home/docker/mysql
[docker@xcbeyond mysql]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
306803948d30 mysql:5.7 "docker-entrypoint..." 35 seconds ago Up 34 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
mysql的啟動、停止、重啟命令如下:

(即:容器的啟動、停止、重啟)

docker start/stop/restart 容器id/容器name

3、mysql連接驗證
驗證下mysql安裝配置是否成功。

使用工具Navicat,新建連接,連接測試。