Docker安装MySQL最佳实践

拉取官方镜像

访问hub.docker.com/,检索 mysql

docker pull mysql:5.7  # 拉取 mysql 5.7
docker pull mysql         # 拉取最新版mysql镜像
复制代码

运行容器,一般不需要建立目录映射

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=2wsx#EDC -d mysql:5.7
复制代码
  • –name:容器名,此处命名为mysql
  • -e:配置信息,此处配置mysql的root用户的登陆密码
  • -p:端口映射,此处映射 主机3306端口 到 容器的3306端口
  • -d:源镜像名,此处为 mysql:5.7

如果要建立目录映射

docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
复制代码
  • -v:主机和容器的目录映射关系,”:”前为主机目录,之后为容器目录

查询容器启动是否正常

docker ps
复制代码

使用docker-compose工具进行容器编排(强烈推荐)

version: '3'
services:
  mysql:
    image: mysql:5.7  # 原镜像`mysql:5.7`
    container_name: mysql1                                      # 容器名为'mysql'
    restart: always                                              # 指定容器退出后的重启策略为始终重启
    volumes:                                                     # 数据卷挂载路径设置,将本机目录映射到容器目录
      - /Users/lilong/mysql/logs:/var/log/mysql
      - /Users/lilong/mysql/data:/var/lib/mysql
      - /Users/lilong/mysql/conf:/etc/mysql
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      MYSQL_ROOT_PASSWORD: 123456         # 设置root用户密码
      MYSQL_DATABASE: demo
    ports:                              # 映射端口
      - 3306:3306
复制代码

在 docker-compose.yml 所在路径下执行该命令 Compose 就会自动构建镜像并使用镜像启动容器

docker-compose up
docker-compose up -d  // 后台启动并运行容器
复制代码

最后说一句

如果这篇文章对您有所帮助,或者有所启发的话,帮忙关注一下,您的支持是我坚持写作最大的动力,多谢支持。

此外,关注公众号:黑色的灯塔,专注Java后端技术分享,涵盖Spring,Spring Boot,SpringCloud,Docker,Kubernetes中间件等技术。