Linux安装java常用开发docker环境

本文以Windows10为宿主机,vm16虚拟机搭建的CentOS 7系统为例,记录了使用Docker安装MySQL 8的过程,包括拉取镜像、创建目录、授权、配置文件编辑、启动容器等步骤,还介绍了Navicat远程连接及修改密码等操作。

软件环境概述

以Windows10为宿主机,vm16虚拟机搭建centos7的Linux系统为前提,记录安装过程,其他宿主机版本或者云主机操作类似,仅供参考.

docker安装MySQL8

拉取MySQL镜像(准备工作:可以检查是否安装过MySQL,不过这个不重要,docker环境下安装过也不碍事),不加版本号默认拉取最新的(docker pull mysql:8.0.23)

[root@localhost ~]# docker pull mysql

创建目录存数据和配置文件(这个是docker安装软件的基本步骤,需要配置数据卷,以免容器停止了数据也就丢失了,所以要把数据同步到宿主机上,类似Redis的持久化)

[root@localhost ~]# mkdir -p /opt/software/mysql/data /opt/software/mysql/conf

授权目录(软件根目录就行)

[root@localhost ~]# chmod -R 777 /opt/software/mysql

在目录/opt/software/mysql/conf下创建配置文件my.cnf(这个是为了和启动时读取自定义配置,方便把数据同步到宿主机和自定义一些字符集呀什么的,详见下文配置内容)

[root@localhost ~]# cd /opt/software/mysql/conf
[root@localhost conf]# touch my.cnf

编辑配置文件(执行下面命令,要是提示-bash: vim: 未找到命令,那么执行  yum -y install vim*  安装vim)

[root@localhost conf]# vim /opt/software/mysql/conf/my.cnf

添加的配置内容如下(按键盘i键,开始插入)--->ESC键+:wq再回车即可完成保存退出.

[client]

#socket = /usr/mysql/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/mysql/mysqld.sock

#pid-file = /usr/mysql/mysqld.pid

datadir = /opt/software/mysql/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/

启动MySQL容器:创建启动容器(命令长但是切记不要有回车符),这里执行起来要安装很久(挂在数据配置文件 -v 顺序只有这么写才可以挂载,这里有点奇怪)

[root@localhost conf]# docker run --restart=unless-stopped -d --name mysql -v /etc/mysql/my.cnf:/opt/software/mysql/conf/my.cnf -v /opt/software/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql

参数解释

参数解释:
-d : 后台运行容器
-p :映射容器端口号和宿主机端口号
-e :环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
-v :挂载数据卷

查看运行状态(希望又成功的画面,没有成功也不要急,查看日志和百度),如果失败,请检查上面的配置文件my.cnf或者查看日志([root@localhost conf]# docker logs 镜像ID)

[root@localhost conf]# docker ps -a

成功画面

Navicat远程连接MySQL

进入容器内部,修改MySQL密码以及允许主机访问

[root@localhost conf]# docker exec -it mysql /bin/bash

连接MySQL,然后输入上面配置的密码,配置的是root

root@e6f7391edd36:/# mysql -uroot -p
输入密码后,执行命令
mysql> use mysql

修改访问主机以及密码等,设置为所有主机可访问(mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接)

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
再刷新
mysql> flush privileges;
接下来就去连接吧
可以连接了就退出mysql
mysql> quit;

再退出容器(按住Ctrl + p + q 退出并在后台运行容器,当然使用命令退出也是一样,我习惯使用这个快捷键),下面是可能会用到的一些常用命令.

如果要退出bash有2种操作:1)Ctrl + d 退出并停止容器;2)按住Ctrl + p + q 退出并在后台运行容器; 
docker一次删除多个停止的容器(免得去找容器ID,避免名称冲突,删除镜像docker rmi 镜像ID)
# docker rm $(docker ps -a -q)

docker安装MySQL完结

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值