前置条件
- docker:Docker CE 基于CentOS在线安装
-
基于容器运行服务
创建相关路径
创建docker-compose存放路径并进入
mkdir -p /usr/local/docker/mysql
创建数据存储路径
mkdir -p /var/local/mysql/data
创建日志存储路径
mkdir -p /var/local/mysql/logs
编辑启动文件
切换路径
cd /usr/local/docker/mysql
编写docker-compose.yml
vi docker-compose.yml
version: '3.7'services:mysql:image: mysqlcontainer_name: mysqlcommand:# MySQL8的密码验证方式默认是 caching_sha2_password,但是很多的连接工具还不支持该方式# 就需要手动设置下mysql的密码认证方式为以前的 mysql_native_password 方式--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--explicit_defaults_for_timestamp=true--lower_case_table_names=1# docker的重启策略:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器restart: unless-stoppedenvironment:MYSQL_ROOT_PASSWORD: root # root用户的密码MYSQL_USER: test # 创建新用户MYSQL_PASSWORD: test # 新用户的密码ports:- 3306:3306volumes:- /var/local/mysql/data:/var/lib/mysql- /var/local/mysql/logs:/logs- /usr/local/docker/mysql/conf:/etc/mysql/conf.d
运行容器
控制台运行容器
docker-compose -f /usr/local/docker/mysql/docker-compose.yml up
注:如果控制台运行正常,可以执行
ctrl+c结束控制台运行,并在后台运行容器后台运行容器
docker-compose -f /usr/local/docker/mysql/docker-compose.yml up -d
停止容器运行
docker-compose -f /usr/local/docker/mysql/docker-compose.yml down
