# 自定义桥接网络
docker network create halo-net

# 安装mysql
docker pull mysql:8.0.27

# 创建映射文件夹
mkdir -p ~/.mysql80/mysql


docker run --name some-mysql -p 3306:3306 -v ~/.mysql80/mysql:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=lx971001 --net halo-net --restart=unless-stopped -d mysql:8.0.27 --lower_case_table_names=1

# --name halo-mysql  设置容器名字
# -e MYSQL_ROOT_PASSWORD=my-secret-pw: 指定MySQL的登录密码为 my-secret-pw
# -v ~/.mysql80/mysql:/var/lib/mysql 命令: 将宿主机的目录 ~/.mysql80/mysql 挂载到容器内部的目录 /var/lib/mysql,默认情况下 MySQL 将向 ~/.mysql80/mysql 写入其数据文件。
# -v /home/data/mysql/conf/my.cnf:/etc/mysql/my.cnf 挂载配置文件路径
# --net halo-net: 将该容器加入到 halo-net 网络,连接到 halo-net 网络的任何其他容器都可以访问 some-mysql容器上的所有端口。
# --lower_case_table_names=1 忽略大小写,docker mysql默认区分大小写的
# --restart=always 容器异常停止后自动重启
# --restart=unless-stopped 除非手动停止否则自动重启
# -d   后台运行
# -p   端口映射
# show variables like 'lower_case_%'; 查看是否区分大小写
# mysql:8.0.27       mysql版本

mkdir -p /root/.mysql80/mysql/conf

docker cp some-mysql:/etc/mysql/my.cnf /root/.mysql80/mysql/conf/my.cnf