第一步、安装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
启动成功。
第七步、下载镜像。
[root@localhost ~]# docker-compose up -d
第八步、查看是否已经连接(此处用的是navicat)。
出现下图,则代表连接成功: