目录结构:
mysql/
|-- conf
| `-- my.cnf
|-- docker-compose.yaml
一、安装docker、docker-compose
1、不会安装docker的请移步----》Centos 7 安装docker Ubuntu16.04安装Docker
2、安装docker-compose(Centos7环境无pip的----》centos7安装pip2)
pip install docker-compose
第二、配置docker-compose.yaml文件
mkdir mysql && cd mysql
cat << EOF > docker-compose.yaml
version: "3.7"
services:
mysql:
image: mysql:5.7
container_name: mysql
network_mode: "bridge"
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=12345678
- MYSQL_ROOT_USER=test
- MYSQL_DATABASE=12345678
restart: always
volumes:
- /data/mysql/db:/var/lib/mysql
- /root/mysql/conf:/etc/my.cnf
EOF
其中network_mode
:为容器的网络模式。MYSQL_ROOT_PASSWORD
:为数据库的密码,也就是root用户的密。MYSQL_USER
和MYSQL_PASS
:代表用户名和密码。image
:为你拉取镜像的地址和版本,当然也可以换成自己的镜像仓库,这里使用官方的。volumes
:里面的参数为映射本地和docker容器里面的文件夹和目录。ports
:为映射端口
第三、编写my.cnf文件
mkdir conf && cd conf && vim 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
第四、创建db目录放置读取的文件
mkdir -p /data/mysql/db
第五、拉取mysql5.7的镜像
docker pull mysql:5.7
第六、启动镜像
docker-compose up -d
构建成功