Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Docker安装MySQL镜像

Docker安装MySQL镜像的详细步骤(适合新手小白)

作者:杰肥啊

本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,为读者展示了容器化MySQL的实践过程,需要的朋友可以参考下

前言

自从用了Docker之后,发现装东西是真的香,不用在自己根据下载压缩包一个个的去解压、执行、配置环境等等操作。想要啥直接就用Docker直接即拿即用,灰常的舒服啊。话不多说,正式开干,直接开始安装步骤。以下所有的安装前提是你装了Docker引擎了,不要告诉我连Docker基本环境都没安装。

安装

1.访问docker镜像仓库官网

找到MySQL,这里我是用5.7版本来给大家演示。

https://hub.docker.com/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.找到对应的版本,复制右侧的命令即可

#将命令放在Linux上敲击回车即可
docker pull mysql:5.7

在这里插入图片描述

3.查看镜像

等拉取好了镜像之后,docker images 查看一下镜像是否拉取成功。

在这里插入图片描述

4.启动简单的MySQL例子

如果只是单纯的想启动MySQL看看,可以直接配置好密码即可

#docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

5.启动完整的MySQL例子

有些时候,我们会想把MySQL的存储data文件、存储配置文件挂载出来,所以用以下更全的会相对好一些,这样重启容器也不会造成丢失数据。就是在基础的启动命令上加一些挂载命令

docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -d mysql:5.7

/mydata/mysql/log: 自己宿主机上的一个目录路径 映射 容器中的 /var/log/mysql

/mydata/mysql/data:自己宿主机上的一个目录路径 映射 容器中的 /var/lib/mysql

/mydata/mysql/conf:自己宿主机上的一个目录路径 映射 容器中的 /etc/mysql

6.查看运行容器

使用docker ps 查看刚才的容器是否运行起来

在这里插入图片描述

这时候MySQL其实就安装成功啦!

7.授权

可以跳过这一步,直接用步骤8也可以。

#进入MySQL容器中
docker exec -it sample-mysql /bin/bash
#登录MySQL
mysql -uroot -p123456
#授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

8.用Navicat工具连接

在这里插入图片描述

在这里插入图片描述

拓展:docker离线部署前端镜像

镜像打包

1.拉取前端镜像

docker pull <registry-url>/<namespace>/<image-name>:<tag>

2.将镜像打包为tar文件

`docker save -o frontend_版本号.tar frontend:版本号`

加载镜像包

进入离线环境,将tar包加载为镜像

docker load -i frontend_版本号.tar

加载后可以通过docker images 查看镜像id

启动容器

镜像加载后,可以启动该容器:

docker run --name frontend -p 80:80 \  
        -v /etc/nginx/conf.d:/etc/nginx/conf.d:ro \  
        -d [frontend 镜像id]

-p: 映射容器端口到主机端口,格式为<主机端口>:<容器端口> -d: 后台运行 -v: 挂载卷,此处挂载配置文件

容器启动后就可以通过外部ip访问该ng服务了。

nginx配置文件

一般前端镜像会带一个nginx,如果有一些转发的配置项,可以通过挂载卷的方式挂载nginx配置文件:

提前准备好nginx配置文件,上面demo中,将ng配置放到了主机的/etc/nginx/conf.d/default.conf中。

server {
    listen   *:80;

    server_name *.bressanone.fun;

    client_max_body_size 1G;

    location / {
      root   /dist/;
      index  index.html index.htm;
      try_files $uri $uri/ /index.html;
      gzip on;
      gzip_min_length 1k;
      gzip_buffers 4 16k;
      gzip_http_version 1.1;
      gzip_comp_level 9;
      gzip_types text/plain application/x-javascript application/json text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
      gzip_vary on;
    }
    

    location ^~/api/ {
        proxy_pass http://后端服务/api/;
        proxy_connect_timeout 60s;
        proxy_read_timeout 120s;
        proxy_send_timeout 120s;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto http;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
    }

}

进入容器

可以通过 exec命令进入容器

docker exec -it frontend /bin/bash

以上就是Docker安装MySQL镜像的详细步骤(适合新手小白)的详细内容,更多关于Docker安装MySQL镜像的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文