濤。

t.

Docker离线部署Mysql8.0

Docker离线部署Mysql8.0

说明:

在有网络的环境上制作Mysql8.0的镜像包,导出并上传至无网络的环境上,启动mysql即可


1.搜索Mysql镜像包

docker search mysql

2.拉取Mysql8.0镜像

说明:

如果:后不写版本号,则默认拉取最新的

docker pull mysql:8.0

查看镜像

docker images

3.创建数据目录和配置文件

3.1在宿主机创建mysql的配置文件的目录

mkdir -p /usr/local/mysql_docker/conf

3.2在配置文件目录下创建MySQL的配置文件my.cnf

touch /usr/local/mysql_docker/conf/my.cnf

3.3编辑配置文件信息

 cd /usr/local/mysql_docker/conf/
 vim my.cnf
 [client]
 # socket = /usr/local/mysql_docker/mysqld.sock
 default-character-set = utf8mb4
 [mysqld]
 # pid-file        = /var/run/mysqld/mysqld.pid
 # socket          = /var/run/mysqld/mysqld.sock
 # datadir         = /var/lib/mysql
 # socket = /usr/local/mysql_docker/mysqld.sock
 # pid-file = /usr/local/mysql_docker/mysqld.pid
 datadir = /usr/local/mysql_docker/data
 character_set_server = utf8mb4
 collation_server = utf8mb4_bin
 secure-file-priv= NULL
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0
 # Custom config should go here
 !includedir /etc/mysql/conf.d/​

3.4在宿主机创建mysql的数据目录

mkdir -p /usr/local/mysql_docker/data

4.创建容器并启动MySQL

docker run -d -p 13306:3306 --name mysql_docker -v /usr/local/mysql_docker/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql_docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123123 mysql:8.0

说明:

-d: 后台运行容器

-p :指定容器暴露的端口,映射宿主机端口号和容器端口号

--name:指定容器名字,后续可以通过名字进行容器管理

-v:挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录

-e :环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码

5.进入容器内部,解决远程连接问题

docker exec -it mysql_docker /bin/bash

5.1 连接Mysql

mysql -uroot -p

5.2 修改访问主机以及密码,设置所有主机可访问

use mysql
alter user 'root'@'%' identified with mysql_native_password by '123123';

5.3 刷新权限

flush privileges;

5.4 退出

exit

6.测试远程是否能连接成功

如下图所示:成功

7.导出镜像

docker save -o mysql8.tar mysql:8.0

8.将镜像包mysql8.tar上传至无网络的环境上,执行

docker load -i mysql8.tar

查看镜像是否导入进来

docker images

9.直接启动Mysql

docker run -d -p 13306:3306 --name mysql_docker -v /usr/local/mysql_docker/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql_docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123123 mysql:8.0

这样就使用docker成功离线安装了MySQL

 

posted on 2022-01-05 12:14  濤。  阅读(2467)  评论(0编辑  收藏  举报

导航