docker安装MySQL8:docker离线安装MySQL、docker在线安装MySQL、MySQL镜像下 ...

打印 上一主题 下一主题

主题 1014|帖子 1014|积分 3042

一、镜像下载

1、在线下载

在一台能连外网的linux上执行docker镜像拉取命令
  1. docker pull mysql:8.0.41
复制代码
2、离线包下载

两种方式:
方式一:

-)在一台能连外网的linux上安装docker执行第一步的命令下载镜像
-)导出
  1. # 导出镜像到本地当前目录
  2. docker save -o mysql-8.0.41.tar mysql:8.0.41
复制代码
方式二:

-)Window桌面程序:Docker Desktop

-)下载镜像

-)安装镜像导出插件

-)将镜像文件保存到window当地(图略)

3、Oracle Container Registry

Home

4、官方安装程序下载

不是docker镜像
https://dev.mysql.com/downloads/mysql/

二、安装

1、在线安装

见离线安装(只比离线安装少一步导入动作)
2、离线安装

-)导入镜像

  1. docker load -i mysql_8_0_38.tar
复制代码
-)检察镜像

  1. [docker@GZ***-PM153160 mysql]$ docker images
  2. REPOSITORY                                 TAG       IMAGE ID       CREATED        SIZE
  3. mysql                                      8.0.38    6c54cbcf775a   6 months ago   572MB、
复制代码
-)创建映射目次

创建mysql设置文件目次、数据文件目次,并修改目次权限
  1. sudo mkdir -p /opt/mysql/docker-mysql/conf
  2. sudo mkdir -p /data1/mysql/docker-mysql/data
  3. sudo chown -R docker.docker /opt/mysql
  4. sudo chown -R docker.docker /data1
复制代码
-)启动容器

  1. docker run -d \
  2. -p 3307:3306 \
  3. -v /opt/mysql/docker-mysql/conf:/etc/mysql/conf.d \
  4. -v /data1/mysql/docker-mysql/data:/var/lib/mysql \
  5. -e MYSQL_ROOT_PASSWORD=F1c1X****** \
  6. --name mysql8.0.38 \
  7. --restart=always \
  8. mysql:8.0.38
复制代码
-)检察容器

  1. [docker@GZCRM-PM153160 mysql]$ docker ps
  2. CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                                    NAMES
  3. 48ea6d74fc20   mysql:8.0.38   "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes   33060/tcp, 0.0.0.0:3307->3306/tcp, [::]:3307->3306/tcp   mysql8.0.38
复制代码
-)从容器内部拷贝设置文件

这一步和下一步可跳过(假如嫌麻烦),假如需要添加时区设置,可简朴在容器中修改设置文件
  1. [docker@GZ***-PM153160 ~]$ docker cp 48ea6d74fc20:/etc/my.cnf /opt/mysql/docker-mysql/conf/my.cnf
  2. Successfully copied 3.07kB to /opt/mysql/docker-mysql/conf/my.cnf
复制代码
-)添加时区设置(中国大陆)

vi /opt/mysql/docker-mysql/conf/my.cnf 

default-time-zone='+08:00'

-)重启容器

  1. [docker@GZ***-PM153160 ~]$ docker restart 48ea6d74fc20
  2. 48ea6d74fc20
复制代码

三、利用/根本操纵

-)进入容器

  1. [docker@GZ***-PM153160 ~]$ docker exec -it 48ea6d74fc20 /bin/bash
  2. bash-5.1#
  3. bash-5.1#
复制代码
-)命令登陆mysql

  1. [docker@GZ***-PM153160 ~]$ docker exec -it 48ea6d74fc20 /bin/bash
  2. bash-5.1#
  3. bash-5.1# bash-5.1# mysql -uroot -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.38 MySQL Community Server - GPLCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> mysql>
复制代码
-)创建数据库

  1. mysql> CREATE DATABASE nacos;
  2. Query OK, 1 row affected (0.00 sec)
复制代码
-)创建用户

  1. # 同时指定密码
  2. CREATE USER 'nacos'@'%' IDENTIFIED BY '#!FlGO****';
复制代码
-)授权

  1. mysql> GRANT ALL PRIVILEGES ON nacos.* TO 'nacos'@'%';
  2. Query OK, 0 rows affected (0.01 sec)
  3. mysql>
  4. mysql> FLUSH PRIVILEGES;
  5. Query OK, 0 rows affected (0.00 sec)
复制代码

碰到的问题总结

1、将镜像推到内网镜像仓库时报错

  1. [zhao****@GZ***-PM153160 ~]$ docker push 10.130.***.106:30089/library/zookeeper:3.9.3
  2. The push refers to repository [10.130.153.***:30089/library/zookeeper]
  3. Get "https://10.130.153.***:30089/v2/": x509: cannot validate certificate for 10.130.153.*** because it doesn't contain any IP SANs
复制代码
 解决:换成域名
  1. [zhao***@GZ***-PM153160 ~]$ docker login harbor.***.com:30089
  2. Username: admin
  3. Password:
  4. WARNING! Your password will be stored unencrypted in /home/zhaozheng/.docker/config.json.
  5. Configure a credential helper to remove this warning. See
  6. https://docs.docker.com/engine/reference/commandline/login/#credential-stores
  7. Login Succeeded
复制代码
大概会用到的其他命令

-)创建卷

  1. docker volume create mysql_data
复制代码
-)验证卷

  1. docker volume ls
复制代码
-)利用卷

  1. docker run --name some-mysql -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
复制代码
 这种docker卷作者没有用过,有兴趣的可自行实验~

假如喜欢我的文章,请帮我点赞,谢谢~  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表