溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql鏡像生成容器的下載安裝及配置過程

發(fā)布時(shí)間:2021-09-16 11:11:30 來源:億速云 閱讀:140 作者:chen 欄目:云計(jì)算

這篇文章主要介紹“mysql鏡像生成容器的下載安裝及配置過程”,在日常操作中,相信很多人在mysql鏡像生成容器的下載安裝及配置過程問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mysql鏡像生成容器的下載安裝及配置過程”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

一、下載官方的mysql鏡像

[root@localhost ~]# docker pull mysql

下載完成后查看鏡像:

[root@localhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql               latest              1195b21c3a45        10 weeks ago        380.2 MB

二、生成容器 

生成容器時(shí),調(diào)用的啟動(dòng)腳本是/entrypoint.sh;通過查看/entrypoint.sh腳本內(nèi)容,總結(jié)參數(shù)如下

mysqld #啟動(dòng)mysql服務(wù),必須使用
MYSQL_ROOT_PASSWORD #設(shè)置mysql的root密碼,必須使用

#以下二個(gè)參數(shù)添加除root之外的用戶并設(shè)置密碼,可選。
MYSQL_USER 
MYSQL_PASSWORD

#設(shè)置生成容器時(shí)需要新建的數(shù)據(jù)庫(kù),可選
MYSQL_DATABASE
#容器的mysql數(shù)據(jù)庫(kù)默認(rèn)的保存路徑是:
/var/lib/mysql
#容器的配置文件my.cnf的路徑為:
/etc/mysql/my.cnf

使用上要的參數(shù)生成新的容器:

[root@localhost mysql_data]# docker run -d -p 3307:3306 --name mysql  -P  -e mysqld -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=yope -e MYSQL_PASSWORD=yope -e MYSQL_DATABASE=testDb -v /mysql_data:/var/lib/mysql  mysql 
492ffa26d8653561208aed28eb62c61e9bae0de91ef911769c35f9e4eae6b272
[root@localhost mysql_data]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                                          NAMES
492ffa26d865        mysql               "docker-entrypoint.sh"   10 seconds ago      Up 7 seconds               0.0.0.0:3307->3306/tcp                         mysql

重要參數(shù)說明:

 --name mysql

指定容器名稱為 mysql;

-p 3307:3306

指定映射端口 將宿主機(jī)端口3307映射到容器3306端口;

-v /mysql_data:/var/lib/mysql

映射數(shù)據(jù)庫(kù)存放位置。將宿主機(jī)的目錄“/mysql_data”映射到容器的“/var/lib/mysql”目錄;這是因?yàn)槟J(rèn)情況下數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)文件和日志文件都會(huì)存放于容器的AUFS文件層,這不僅不使得容器變得越來越臃腫,不便于遷移、備份等管理,而且數(shù)據(jù)庫(kù)的性能也會(huì)受到影響。因此建議掛載到宿主機(jī)的目錄到容器內(nèi)。

查看本地的mysql_data是否生成容器內(nèi)的數(shù)據(jù)庫(kù):

[root@localhost /]# ll /mysql_data/
總用量 188452
-rw-r----- 1 systemd-bus-proxy ssh_keys       56 8月  20 22:25 auto.cnf
-rw-r----- 1 systemd-bus-proxy ssh_keys     1329 8月  20 22:25 ib_buffer_pool
-rw-r----- 1 systemd-bus-proxy ssh_keys 79691776 8月  20 22:25 ibdata1
-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile0
-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile1
-rw-r----- 1 systemd-bus-proxy ssh_keys 12582912 8月  20 22:25 ibtmp1
drwxr-x--- 2 systemd-bus-proxy ssh_keys     4096 8月  20 22:25 mysql
drwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 performance_schema
drwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 sys
drwxr-x--- 2 systemd-bus-proxy ssh_keys       19 8月  20 22:25 testDb
[root@localhost /]#

已經(jīng)生成相關(guān)的文件和默認(rèn)數(shù)據(jù)庫(kù),同時(shí)也新建了"testDb"數(shù)據(jù)庫(kù).

測(cè)試方案一:

在宿主機(jī)上通過端口訪問容器中的mysql服務(wù)

[root@localhost /]# yum -y install mysql

測(cè)試登錄:

[root@localhost mysql_data]# mysql -u root -p -h 127.0.0.1 -P 3307
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>

測(cè)試方案二:

自己本地利用mysql 連接工具(eg:Navicat 等)進(jìn)行連接,注意映射出來的真實(shí)端口不一定是3306就好了。

需要注意的是:宿主機(jī)上的UID和GID是999。這是容器里用戶mysql的UID和GID。千萬別進(jìn)行權(quán)限變更,否則容器對(duì)這個(gè)目錄進(jìn)行讀寫就會(huì)出現(xiàn)問題。如果覺得不舒服,可以在本地新建一個(gè)mysql_docker的用戶指定UID和GID是999。

(這個(gè)注意本人沒有落實(shí)驗(yàn)證,如果描寫信息有錯(cuò),還望指出)

三、進(jìn)入到新生成的容器 (名為mysql的容器)

使用exec進(jìn)入容器,同時(shí)進(jìn)行相關(guān)操作: 

[root@localhost /]# docker exec -it mysql /bin/bash

查看進(jìn)程:

root@492ffa26d865:/# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql         1  0.2  9.7 1262696 182200 ?      Ssl  14:52   0:00 mysqld
root        127  0.2  0.1  20216  1884 ?        Ss   14:57   0:00 /bin/bash
root        133  0.0  0.0  17492  1148 ?        R+   14:58   0:00 ps -aux

查看數(shù)據(jù)庫(kù)所在的文件夾:

root@492ffa26d865:/# ls -l /var/lib/mysql/
total 188452
-rw-r----- 1 mysql mysql       56 Aug 20 14:52 auto.cnf
-rw-r----- 1 mysql mysql     1329 Aug 20 14:52 ib_buffer_pool
-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile1
-rw-r----- 1 mysql mysql 79691776 Aug 20 14:52 ibdata1
-rw-r----- 1 mysql mysql 12582912 Aug 20 14:52 ibtmp1
drwxr-x--- 2 mysql mysql     4096 Aug 20 14:52 mysql
drwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 performance_schema
drwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 sys
drwxr-x--- 2 mysql mysql       19 Aug 20 14:52 testDb

進(jìn)入mysql:

root@492ffa26d865:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

四、修改容器中mysql的配置文件 

默認(rèn)鏡像中并沒有安裝vi或者vim,需要手工安裝

root@492ffa26d865:/# apt-get update && apt-get -yq install vim

然后就可以使用vim 來修改mysql的配置文件:

root@492ffa26d865:/# vim /etc/mysql/my.cnf

vim編輯器在此不做詳述。

如果已經(jīng)有一個(gè)比較成熟的my.cnf的配置方案,可以在宿主機(jī)上新建一個(gè)文件夾將已經(jīng)設(shè)置好的my.cnf和conf.d這二個(gè)文件放到里面,

然后在新建容器的時(shí)候,直接使用參數(shù)”-v” 將這個(gè)文件夾映射到容器的”/etc/mysql”目錄上即可。

到此,關(guān)于“mysql鏡像生成容器的下載安裝及配置過程”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI