私人网站制作,劳务 东莞网站建设,培训机构好还是学校好,从什么网站可以做兼职0、背景
在MAC M1中搭建商城项目环境时#xff0c;采用docker统一管理开发工具#xff0c;期间碰到了许多环境安装问题#xff0c;做个总结。
1、安装redis
在宿主机新建redis.conf文件运行创建容器命令#xff0c;进行容器创建、端口映射、文件挂载、以指定配置文件启动…0、背景
在MAC M1中搭建商城项目环境时采用docker统一管理开发工具期间碰到了许多环境安装问题做个总结。
1、安装redis
在宿主机新建redis.conf文件运行创建容器命令进行容器创建、端口映射、文件挂载、以指定配置文件启动 docker run -d \ --name my-redis \ -v /Users/chenzhouyuan/Public/work/environment/docker/redis/redis.conf:/usr/local/etc/redis/redis.conf \ -v /Users/chenzhouyuan/Public/work/environment/docker/redis/data:/data \ -p 6379:6379 \ redis redis-server /usr/local/etc/redis/redis.conf 未解决的问题运行命令后redis-server未正常启动需要在docker容器中手动输入命令“redis redis-server /usr/local/etc/redis/redis.conf”检查后发现网络、配置文件、文件权限均无问题暂不知原因。可能是mac M1平台的bug
2、安装xxl-job
错误描述 docker容器中xxl-job无法连接宿主机的mysql。原因是访问宿主机mysql需要使用局域网且mysql需要赋予此ip访问权限‘ 错误提示 解决方式 需要在mysql中执行sql命令添加指定ip地址账号的访问权限输入
CREATE USER root192.168.6.182 IDENTIFIED BY your_password;
GRANT ALL PRIVILEGES ON *.* TO root192.168.6.182 WITH GRANT OPTION;
FLUSH PRIVILEGES;连接通过xxl-job的web页面访问正常 其他 M1 mac对xxl-job容器同样有兼容性问题需要参考安装rocketmq容器时的源代码编译方式。
3、安装rocketmq
问题描述 需要安装rocketmq-namesrv、rocketmq-broker、rocketmq-console。运行docker容器时rocket-console的web页面无法显示docker日志为空。原因是amd64镜像的兼容性问题需要更换成arm64镜像因此需要下载源代码进行本地编译和镜像打包。
解决方式 1、从apche的账号中git clone下来源代码包含rocketmq和dashboard新版本console已经重命名为dashboard git clone https://github.com/apache/rocketmq-docker.git git clone https://github.com/apache/rocketmq-dashboard.git 2、先用rocketmq-docker搭建namesrv和broker因为官方源代码自带生成docker镜像的相关脚本直接使用即可。
进入刚才下载的源码根目录找到image-build cd image-build 生成镜像 sh build-image.sh 4.8.0 centos 生成容器并运行 docker run ...
3、接下来编译dashboard需要手动编译项目。
修改项目中的Dockerfile将依赖的jdk改成支持arm64芯片的openjdk8 构建后发现部分依赖包缺失于是从中央仓库例如https://mvnrepository.com/artifact/io.grpc/grpc-api/1.50.0下载无法识别的依赖包grpc-api、grpc-core将jar包加载到项目中运行mvn package打包项目为jar包跳过测试,并生成镜像 mvn clean package -Dmaven.test.skiptrue docker:build新建broker.conf文件按需修改docker-compose.yml文件
4、运行docker-compose生成容器 docker-compose -f docker-compose.yml up -d
参考文献 文献1 文献2
4、安装mysql
运行命令 docker run -p 3307:3306 --restart always --name mysql -e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7 未解决的问题mac宿主机的navicat无法连接容器中的mysql即使已经做了端口映射暂时使用宿主机本地的mysql8.0搭建。
5、安装nacos
未解决的问题同样有arm64和amd64兼容性的问题暂未更换镜像
6、其他安装skywalking、seata-server、sentinel可选
暂无异常