Docker下安装mysql


[toc]


昨天我们大致看了下Docker的基础操作,今天就顺势用Docker安装一下mysql吧,还是相当简单的(当然是相对于不借助docker安装来说的,手动滑稽 - -)

生成镜像

第一种:我们用人家编译好的镜像安装吧

  • 首先在Docker里面搜索一下mysql


    可以看到搜索出来了N多的mysql镜像,你可以选择你想要的镜像进行安装,不过我就给你用官方的最新版安装吧

  • 下载mysql

    1
    docker pull mysql

    注:如果需要特定版本,你可以在下载的时候加tag

    eg:docker pull mysql:5.7

    具体有哪些版本,可以上Dockerhub > mysql查看

  • 查看我们下载的mysql镜像

    1
    docker images | grep mysql

第二种:通过Dockerfile构建

  • 创建目录mysql,用来存放mysql的相关东西

    1
    mkdir -p ~/mysql
  • 然后进入mysql目录,创建Dockerfile文件

    1
    2
    3
    cd ~/mysql
    vim Dockerfile
    然后复制Dockerfile的内容进去,保存

    Dockerfile的内容可以在https://github.com/docker-library/mysql找到

  • 基于Dockerfile创建镜像

    1
    docker build -t mysql .
  • 查看创建的镜像

    1
    docker images | grep mysql

启动mysql

1
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=test1234 -d image-name/image-id

命令说明

–name mysql 设置容器别名

-p 3306:3306 将容器的3306端口映射到主机的3306端口,不然无法访问

-e MYSQL_ROOT_PASSWORD=test1234 初始化root用户的密码

-d 后台运行容器

image-name/image-id mysql镜像名称或者镜像id

进入容器

1
docker exec -it mysql bash

登录mysql

1
2
3
mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY test1234';

添加远程登录用户(使可以远程连接,不需要可以省略)

1
2
3
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test1234';

GRANT ALL PRIVILEGES ON . TO 'test'@'%';

大概就是这么多啦,emmm.

谢谢你请我吃糖,Mua
0%