美文网首页原创Docker技术分享我爱编程
Docker部署数据本地持久化的mysql

Docker部署数据本地持久化的mysql

作者: IT锟 | 来源:发表于2018-06-28 08:36 被阅读14次

系统环境

  • 操作系统:mac
  • Docker版本:18.03.1-ce
  • docker-compose版本:1.21.2

一、拉取镜像

docker pull mysql

二、编写 docker-compose.yml 文件


version: '2'

networks:
  basic:

services:

   mysql:
    container_name: mysql
    image: mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=admin
    volumes:
      - ./mysql:/var/lib/mysql
    networks:
      - basic

这里需要说明下:

  • MYSQL_ROOT_PASSWORD 是设置mysql的登录密码,我们进入容器后登录mysql就得用这个密码。
  • volumes 挂载把容器里面的 /var/lib/mysql 目录挂载到本地的mysql目录下,如果这里不挂载到本地,那你重启容器时就会发现数据没了,这个很重要。
  • ports 这里配置mysql对外开放的端口,我这里就用默认的3306。

最后的文件结构就是这样的:

文件结构

三、启动

我们只需要cd到这个目录下执行:

docker-compose -f docker-compose.yml up -d mysql

看到上面的输出,就说明启动成功了,当然我们也可以再用

docker ps -a

去验证下,是否已经启动成功了

四、连接mysql

在终端输入连接命令:

mysql -h 127.0.0.1 -uroot -p

会发现报这个错误:

Enter password:
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

相关文章

网友评论

    本文标题:Docker部署数据本地持久化的mysql

    本文链接:https://www.haomeiwen.com/subject/sqqyyftx.html