docker-compose部署mysql

1刨裆、安裝部署docker

在linux下面只需簡(jiǎn)單的一個(gè)命令:

yum install docker

其他的系統(tǒng)類似伴郁。

2邑茄、編寫(xiě)docker-compose文件

version: '2'
services:
    mysql:
        network_mode: "bridge"
        environment:
            MYSQL_ROOT_PASSWORD: "yourpassword"
            MYSQL_USER: 'test'
            MYSQL_PASS: 'yourpassword'
        image: "docker.io/mysql:5.5" 
        restart: always
        volumes:
            - "./db:/var/lib/mysql"
            - "./conf/my.cnf:/etc/my.cnf"
            - "./init:/docker-entrypoint-initdb.d/"
        ports:
            - "3306:33060"

這里稍微解釋一下,其中堕绩,network_mode為容器的網(wǎng)絡(luò)模式策幼,需要連接navicat,所以用bridge奴紧,相當(dāng)于虛擬機(jī)的NAT模式特姐。MYSQL_ROOT_PASSWORD為數(shù)據(jù)庫(kù)的密碼,也就是root用戶的密碼黍氮。MYSQL_USER和MYSQL_PASS另外一個(gè)用戶名和密碼唐含。image為你拉取鏡像的地址和版本,當(dāng)然也可以換成自己的鏡像倉(cāng)庫(kù)滤钱,這里使用官方的觉壶。volumes里面的參數(shù)為映射本地和docker容器里面的文件夾和目錄。./db 用來(lái)存放了數(shù)據(jù)庫(kù)表文件件缸,./conf/my.cnf存放自定義的配置文件铜靶,./init存放初始化的腳本。ports 為映射主機(jī)和容器的端口他炊。寫(xiě)好docker-compose.yml后把相應(yīng)的文件夾建好争剿,當(dāng)然也可以換成你自己的。下面的是博主的文件夾結(jié)構(gòu)痊末。

root@localhost mysql # tree
.
├── conf
│   └── my.cnf
├── db
├── docker-compose.yml
└── init
    └── init.sql

3蚕苇、編寫(xiě)配置文件和初始化文件

root@localhost conf # cat my.cnf 
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

這里的配置文件只是一個(gè)簡(jiǎn)單的舉例,大家需要根據(jù)自己的配置來(lái)更改凿叠。

root@localhost init # cat init.sql 
create database test;
use test;
create table user
(
    id int auto_increment primary key,
    username varchar(64) unique not null,
    email varchar(120) unique not null,
    password_hash varchar(128) not null,
    avatar varchar(128) not null
);
insert into user values(1, "zhangsan","test12345@qq.com","passwd","avaterpath");
insert into user values(2, "lisi","12345test@qq.com","passwd","avaterpath");

就是建表操作和插入數(shù)據(jù)的操作涩笤。

4、啟動(dòng)數(shù)據(jù)庫(kù)

root@localhost mysql # docker-compose pull

.......下載鏡像過(guò)程
啟動(dòng)容器

root@localhost mysql # docker-compose up -d
mysql_mysql_1_234be9b015e4 is up-to-date

此處需要在存放docker-compose.yml的文件夾進(jìn)行操作盒件。

5蹬碧、檢查初始化的數(shù)據(jù)

[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33a1b073dcb1 mysql:5.5 "docker-entrypoint.s…" 5 seconds ago Up 4 seconds 0.0.0.0:3306->3306/tcp root_mysql_1
root@localhost mysql # docker exec -it cffe8d56f222 bash
root@localhost:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, 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> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from user;
+----+----------+------------------+---------------+------------+
| id | username | email | password_hash | avatar |
+----+----------+------------------+---------------+------------+
| 1 | zhangsan | test12345@qq.com | passwd | avaterpath |
| 2 | lisi | 12345test@qq.com | passwd | avaterpath |
+----+----------+------------------+---------------+------------+
2 rows in set (0.00 sec)

可以看到數(shù)據(jù)存入到數(shù)據(jù)庫(kù)當(dāng)中去。

6炒刁、驗(yàn)證遠(yuǎn)程連接

在windows宿主機(jī)上面也可以用Navicat連接上數(shù)據(jù)庫(kù)恩沽。ip填虛擬機(jī)的ip,port填寫(xiě)3306翔始,密碼為docker-compose文件中的root密碼罗心。此處需要將宿主機(jī)(我是liunx虛擬機(jī))的防火墻給關(guān)掉里伯,要不然一直連接不上,或者你開(kāi)啟3306端口給外面訪問(wèn)也可以渤闷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疾瓮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子肤晓,更是在濱河造成了極大的恐慌爷贫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件补憾,死亡現(xiàn)場(chǎng)離奇詭異漫萄,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)盈匾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門腾务,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人削饵,你說(shuō)我怎么就攤上這事岩瘦。” “怎么了窿撬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵启昧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我劈伴,道長(zhǎng)密末,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任跛璧,我火速辦了婚禮严里,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘追城。我一直安慰自己刹碾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布座柱。 她就那樣靜靜地躺著迷帜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪色洞。 梳的紋絲不亂的頭發(fā)上瞬矩,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音锋玲,去河邊找鬼。 笑死涵叮,一個(gè)胖子當(dāng)著我的面吹牛惭蹂,可吹牛的內(nèi)容都是我干的伞插。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼盾碗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼媚污!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起廷雅,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤耗美,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后航缀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體商架,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年芥玉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛇摸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灿巧,死狀恐怖赶袄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抠藕,我是刑警寧澤饿肺,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站盾似,受9級(jí)特大地震影響敬辣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颜说,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一购岗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧门粪,春花似錦喊积、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至拟蜻,卻和暖如春绎签,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酝锅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工诡必, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓爸舒,卻偏偏與公主長(zhǎng)得像蟋字,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扭勉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353