docker compose mysql_docker-compose部署MySQL

第一步、安装docker:

[root@localhost ~]# yum install docker

第二步、配置docker-compose.yml文件

①在根目录下创建docker-compose.yml:

[root@localhost ~]# vi docker-compose.yml

文件内容如下:

version: '2'

services:

mysql:

network_mode: "bridge"

environment:

MYSQL_ROOT_PASSWORD: "yourpassword"

MYSQL_USER: 'test'

MYSQL_PASS: 'yourpassword'

image: "mysql:5.5"

restart: always

volumes:

- "./db:/var/lib/mysql"

- "./conf/my.cnf:/etc/my.cnf"

- "./init:/docker-entrypoint-initdb.d/"

ports:

- "3306:3306"

其中

network_mode:为容器的网络模式。

MYSQL_ROOT_PASSWORD:为数据库的密码,也就是root用户的密。

MYSQL_USER和MYSQL_PASS:代表用户名和密码。

image:为你拉取镜像的地址和版本,当然也可以换成自己的镜像仓库,这里使用官方的。

volumes:里面的参数为映射本地和docker容器里面的文件夹和目录。

ports:为映射端口。

第三步、编写my.cnf 配置文件:

①创建conf目录:

[root@localhost ~]# mkdir conf

②进入conf目录里面,然后,创建my.cnf文件:

[root@localhost conf]# vi my.cnf

在my.cnf配置文件里面添加以下内容:

[mysqld]

user=mysql

default-storage-engine=INNODB

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

第四步、编写init.sql配置文件:

①创建init文件夹:

root@localhost ~]# mkdir init

②进入init目录里面,然后创建init.sql文件:

[root@localhost init]# vi 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");

第五步、创建db目录放置读取的文件。

[root@localhost ~]# mkdir db

第六步、启动数据库。

[root@localhost ~]# docker-compose pull

ab3367b2e6b4

image.png

启动成功。

第七步、下载镜像。

[root@localhost ~]# docker-compose up -d

第八步、查看是否已经连接(此处用的是navicat)。

ab3367b2e6b4

image.png

出现下图,则代表连接成功:

ab3367b2e6b4

image.png


版权声明:本文为weixin_34233720原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。