Docker通过挂载方式部署MySQL 8 docker 部署mysql

一、docker部署MySQL

1.1.拉取镜像

docker pull mysql

1.2.查看镜像

docker images

1.3.启动容器

docker run \
 --restart=always \
 --privileged=true \
 -p 3306:3306 \
 --name mysql \
 -e MYSQL_ROOT_PASSWORD=123456a \
 -d mysql:latest \
 --default_authentication_plugin=mysql_native_password \
 --character-set-server=utf8mb4 \
 --collation-server=utf8mb4_general_ci

1.3. 创建挂载目录

mkdir -p /opt/docker/mysql/{conf,logs,data}

1.5.复制容器配置文件到挂载目录

docker cp mysql: /etc/mysql/my.cnf /opt/docker/mysql/conf/

1.6.销毁容器

docker rm -f 容器ID

1.7.挂载方式启动容器

docker run \
 --privileged=true \
 --restart=always \
 -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
 -v /opt/docker/mysql/data:/var/lib/mysql \
 -v /opt/docker/mysql/logs:/var/log/mysql \
 --privileged=true \
 -p 3307:3306 \
 --name mysql \
 -e MYSQL_ROOT_PASSWORD=123456a \
 -d mysql:latest \
 --default_authentication_plugin=mysql_native_password \
 --character-set-server=utf8 \
 --collation-server=utf8_general_ci

参数解析

  • -p:端口映射 宿主机端口:容器内端口
  • –restart-always: docker服务启动时,自动启动容器,并且当容器停止时,尝试重启容器
  • –restart具体参数值详细信息:
    no - 容器退出时,不重启容器;
    on-failure - 只有在非0状态退出时才从新启动容器;
    always - 无论退出状态是如何,都重启容器;
  • -name 指定容器名称
  • -e: 指定环境变量,容器中可以使用该环境变量
  • -v:为容器挂载目录,比如 /usr/docker/data:/data 前者为数宿主机目录后者为容器内目录
  • -d:后台运行容器,并返回容器ID
    MYSQL_ROOT_PASSWORD:设置root密码为123456a
  • –character-set-server:设置数据库编码为uft8
  • –collation-serverr:设置默认排序规则为utf8_unicode_ci
  • default_authentication_plugin=mysql_native_password 设置mysql8的密码加密方式为mysql_native_password

原链接:https://blog.csdn.net/zhaogot/article/details/113694332?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-113694332-blog-103606173.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-113694332-blog-103606173.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=1

posted @ 2022-12-04 20:57  nulitao  阅读(290)  评论(0编辑  收藏  举报