在centos7上使用Docker安裝mysql5.7

如果還沒安裝docker,可查看Centos7下安裝Docker(詳細安裝教程)

 

1、查找 docker 鏡像:docker search mysql

[root@izwz9e6rwf3jav5u8udbfmz ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8652                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3009                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   641                                     [OK]
percona                           Percona Server is a fork of the MySQL relati…   451                 [OK]                
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   63                                      
centurylink/mysql                 Image containing mysql. Optimized to be link…   61                                      [OK]
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   52                                      
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                                      [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   34                                      
bitnami/mysql                     Bitnami MySQL Docker Image                      34                                      [OK]
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   28                                      [OK]
prom/mysqld-exporter                                                              23                                      [OK]
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   21                                      
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   16                                      
                           

2、拉取 docker 鏡像:docker pull mysql:5.7

[root@izwz9e6rwf3jav5u8udbfmz ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
8f91359f1fff: Pull complete 
6bbb1c853362: Pull complete 
e6e554c0af6f: Pull complete 
f391c1a77330: Pull complete 
414a8a88eabc: Pull complete 
fee78658f4dd: Pull complete 
9568f6bff01b: Pull complete 
76041efb6f83: Pull complete 
ea54dbd83183: Pull complete 
566857d8f022: Pull complete 
01c09495c6e7: Pull complete 
Digest: sha256:f7985e36c668bb862a0e506f4ef9acdd1254cdf690469816f99633898895f7fa
Status: Downloaded newer image for mysql:5.7

3、用 docker images 命令查看鏡像

[root@izwz9e6rwf3jav5u8udbfmz ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 383867b75fd2        2 weeks ago         373MB

 最新官方MySQL(5.7.19)的docker鏡像在創建時映射的配置文件目錄有所不同,在此記錄並分享給大家:

MySQL(5.7.19)的默認配置文件是 /etc/mysql/my.cnf 文件。如果想要自定義配置,建議向 /etc/mysql/conf.d 目錄中創建 .cnf 文件。新建的文件可以任意起名,只要保證後綴名是 cnf 即可。新建的文件中的配置項可以覆蓋 /etc/mysql/my.cnf 中的配置項。

具體操作:首先需要創建將要映射到容器中的目錄以及.cnf文件,然後再創建容器

[root@izwz9e6rwf3jav5u8udbfmz ~]# cd /opt/
[root@izwz9e6rwf3jav5u8udbfmz opt]# mkdir -p docker_v/mysql/conf
[root@izwz9e6rwf3jav5u8udbfmz opt]# cd docker_v/mysql/conf/
[root@izwz9e6rwf3jav5u8udbfmz conf]# touch my.cnf

4、啓動容器,運行鏡像

備註:此語句爲創建數據庫,執行一次就可以。

[root@izwz9e6rwf3jav5u8udbfmz conf]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
afe27881f7a3a648aabdc6efc309d34d899de4f0b6985e2a2a4b5b728bce2c6e

5、查看正在運行的鏡像

[root@izwz9e6rwf3jav5u8udbfmz conf]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                               NAMES
afe27881f7a3        mysql:5.7           "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

停用mysql: docker stop mysql
啓用mysql: docker start mysql

 

6.連接 賬號root密碼123456

用Navicat連接

 

 

其他

docker run

-d 標識是讓 docker 容器在後臺運行。

-p 標識通知 Docker 將容器內部使用的網絡端口映射到我們使用的主機上。

–name 定義一個容器的名字,如果在執行docker run時沒有指定Name,那麼deamon會自動生成一個隨機數字符串當做UUID。

-e 設置環境變量,或者覆蓋已存在的環境變量。

例如:docker run –name mysql -p 3306:3306 -e 
MYSQL_ROOT_PASSWORD=password -dmysql/mysql-server:latest

含義:容器的名字爲mysql,將容器的3306端口映射到本機的3306端口,mysql數據庫的密碼爲password 
,運行的鏡像爲mysql/mysql-server:latest

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章