由于我使用了windows10上安装了docker搭建本地开发环境遇到的问题跟大家分享下
在windows的d盘下新建一个mysql路径,在mysql路径下新建logs、data、conf目录用于挂载mysql5.7.16的日志、数据和配置文件路径映射:
docker run -p 3306:3306 --name mysql_server --privileged=true -v "d:/mysql/logs":/var/log/mysql -v "d:/mysql/data":/var/lib/mysql -v "d:/mysql/conf":/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -itd mysql:5.7.16
在Linux上可以使用如下命令启动,同样需要先创建/mysql/logs、/mysql/data和/mysql/conf路径:
docker run -p 3306:3306 --name mysql_server --privileged=true -v /mysql/logs:/var/log/mysql -v /mysql/data:/var/lib/mysql -v /mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -itd mysql:5.7.16
后面还可以跟如下参数:字符集和排序规则
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
该命令启动后已经是授权全部ip可以远程连接了的,如果没有授权远程连接,需要授权下
运行如下命令进入mysql容器:
docker exec -it mysql容器id或名称 /bin/bash
mysql 授权远程访问
登录进入mysql,执行命令:
mysql -u root -p
检查是否给root用户授权了远程访问
use mysql;
select User,authentication_string,Host from user;
看user为root,host为%数据,我这里是已经开启了远程访问,如果没有的话,可以进行以下操作:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
刷新权限:
flush privileges;
退出容器然后重启mysql容器即可。
注意1.在windows10下挂载的本地路径需要写"",文件路径的斜杠是这种写的/,这个也是很坑的一个地方,不然这个挂载路径写不对的话,启动的容器是起不来的
注意2:由于window10上我安装的docker是先安装了wsl2(windows 子系统 ),所以mysql 5.7版本 在windows 子系统 wsl2中无法正常挂载目录,会遇到权限问题“[ERROR] Could not set file permission for ca-key.pem”,要用 mysql 5.7.16 以上版本
报错:
W: GPG error: http://mirrors.aliyun.com stretch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY EF0F382A1A7B6500
更换debian8的镜像源为清华大学的镜像源后执行:
apt-get update
更新apt-get报错如上所示,配置debian8的镜像源为清华大学的镜像源下面有教程
vim /etc/apt/sources.list
如果没有安装vim,可以在window10的Docker Desktop的容器列表中找到启动的mysql5.7.16的容器然后点击Files找到sources.list文件,双击就开打开,把上面的镜像源粘贴进去,ctrl+s保存即可:
或者是使用Linux的远程连接工具链接到这个容器中借助远程工具的力量搞了这个文件的编辑和修改
镜像源配置如下:
# 自带的
#deb http://deb.debian.org/debian jessie main
#deb http://deb.debian.org/debian jessie-updates main
#deb http://security.debian.org jessie/updates main
#deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib
# 新加的
# start
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
证书公钥下载导入:
gpg --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
gpg --export --armor 3B4FE6ACC0B21F32 | sudo apt-key add -
apt-get update
apt-get install xxx
用dpkg -l|grep sudo查看,发现默认就没有安装sudo,只能自己装了:
先su到root用户,然后执行 apt-get install sudo
apt-get install sudo
sudo apt-get install vim
debian8操作系统是不支持ifconfig包的下载的
在你在德班这个版本上安装yum后
sudo apt-get yum
yum install -y ifconfig
root@eb7cb6b67fa5:~# yum install -y ifconfig
There are no enabled repos.
Run “yum repolist all” to see the repos you have.
You can enable repos with yum-config-manager --enable
这个报错的意思是不支持
#Debian系列:
ip addr
#RedHat系列:
ifconfg
一般来说Linux系统基本上分两大类:
RedHat系列:Redhat、Centos、Fedora等
Debian系列:DDebian、Ubuntu等…
RedHat系列:
常见的安装包格式rpm包、安装rpm包的命令:rpm-参数
包管理工具yum
支持tar包
Debian系列:
常见的安装包格式deb包、安装rpm包的命令:deb-参数
包管理工具apt-get
支持tar包
所以,也就是说,直接用apt-get就行了,别用yum。
所以在德班操作系统上查看网卡使用:
ip addr就可以
在搭建之前先要去nacos的gitHub官网下载一个源码包
https://github.com/alibaba/nacos/releases
下载nacos2.1.1的nacos的conf下的nacos-mysql.sql的sql文件
在本地的mysql5.7.16的数据库使用Navicat远程连接上去新建一个nacos的数据库,然后把这个nacos-mysql.sql的sql文件执行导入到nacos的库中:
启动单机nacos2.1.1的容器:
docker run -d --name nacos2.1.1 --privileged=true -e MODE=standalone -e MYSQL_SERVICE_HOST=localhost -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -e MYSQL_SERVICE_DB_NAME=nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 registry.cn-hangzhou.aliyuncs.com/bigfei/zlf:nacos-server2.1.1
访问本地的nacos:
到此使用widows10的dockerd搭建nacos、mysql的单机开发环境就分享好了,希望我的分享对大家有帮助,请一键三连,么么哒!