当前位置: 首页 > news >正文

吉安网站推广徽hyhyk1青岛市城乡和住房建设局

吉安网站推广徽hyhyk1,青岛市城乡和住房建设局,厦门450元网站建设公司,网站建设方案书设计图文章目录 问题描述解决思路问题解决容器构建mysql客户端安装容器与主机的交互docker中执行 mysqldump 命令解决mysql8密码验证问题解决密码插件警告 问题描述 由于#xff0c;使用1panel可视化的面板来部署springboot项目#xff0c;可以很方便地安装和使用mysql#xff0c… 文章目录 问题描述解决思路问题解决容器构建mysql客户端安装容器与主机的交互docker中执行 mysqldump 命令解决mysql8密码验证问题解决密码插件警告 问题描述 由于使用1panel可视化的面板来部署springboot项目可以很方便地安装和使用mysqlredis等环境另外部署的项目使用面板管理起来也很方便。所以难免会遇到不同容器之间的交互。springboot部署在一个容器中中mysql部署在另一个容器中在springboo项目中实现定时任务备份mysql容器的数据库文件如何实现 解决思路 首先需要在容器环境中使用容器相关命令 容器安装mysql客户端容器内的 Docker CLI 与主机上的 Docker 守护进程进行交互执行数据库备份命令 问题解决 容器构建mysql客户端安装 修改软件源安装mysql-client # 基于官方的 openjdk:8-jdk-slim 镜像构建 FROM openjdk:8-jdk-slim # 更新源列表 RUN sed -i s/deb.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list \sed -i s/security.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list \apt-get update# 安装必要的软件包 RUN apt-get install -y \curl \default-mysql-client \ rm -rf /var/lib/apt/lists/*# 设置工作目录 WORKDIR /app# 将项目文件复制到容器中 COPY ./spring-0.0.1-SNAPSHOT.jar /app # 添加执行权限 RUN chmod x /xxx/docker_backup.sh # 暴露应用程序端口 EXPOSE 8080# 启动应用程序 CMD [java, -jar, spring-0.0.1-SNAPSHOT.jar] 容器与主机的交互 rootd31e5e724869:/app# docker exec $mysql_docker_name mysqldump -u root -p$password -h localhost db_name /home/backup.sql bash: docker: command not found 错误消息 “bash: docker: command not found” 表示 Docker 命令在 Docker 容器内不可用。 因为 Docker 通常安装在主机系统上而不是容器内。容器在隔离的环境中运行通常默认情况下无法直接访问主机上的 Docker 命令。 如果需要在 Docker 容器内执行 Docker 命令可以使用 Docker-in-Docker (DinD) 或 Docker outside of Docker (DooD) 方法。通常不建议在 Docker 容器内运行 Docker 命令。 两种方法的简要解释 Docker-in-Docker (DinD) 涉及在 Docker 容器内运行 Docker 守护进程。它允许你从一个容器内构建和运行其他容器。但要正确设置它可能会有一定挑战而且可能存在安全问题。 Docker outside of Docker (DooD) 将主机上的 Docker 套接字挂载到容器中。容器内的 Docker CLI 与主机上的 Docker 守护进程进行交互从容器内控制主机上的 Docker。比 DinD 更安全。 修改 Docker 运行命令 更新你的 docker run 命令将主机上的 Docker 套接字挂载到容器中。替换现有的 docker run 命令如下 docker run -d --name xxx-p 8080:8080 \ -v /var/run/docker.sock:/var/run/docker.sock \ # 挂载 Docker 套接字 xxx通过添加 -v /var/run/docker.sock:/var/run/docker.sock允许容器内的 Docker CLI 与主机上的 Docker 守护进程通信。 docker中执行 mysqldump 命令 在挂载了主机上的 Docker 套接字的容器中执行 docker exec 命令会遇到问题因为 docker exec 是用于在其他 Docker 容器中运行命令的。要在同一容器中执行 mysqldump 命令可以直接运行 mysqldump 而无需使用 docker exec。 如 mysqldump -u root -pxxx -h mysql_docker_name db_name /home/backup.sql使用脚本备份 在dockerfile中添加代码 # 添加执行权限 RUN chmod x /usr/docker_backup.sh如果 MySQL 和 program容器在同一个 Docker 网络中并且想从 program容器中连接到 MySQL 容器来执行备份命令你可以通过容器名称进行连接。 在 Docker 网络中容器可以通过它们的名称进行通信。 2.在 program 容器中执行备份命令 在 docker_backup.sh 脚本中可以使用 MySQL 容器的名称来执行备份命令。 #!/bin/bash # -h mysql_docker_name 意味着使用 xxx 作为主机名进行连接 mysqldump -u root -pxxx -h mysql_docker_name db_name /home/backup/backup.sql解决mysql8密码验证问题 mysqldump: Got error: 2002: Cant connect to local MySQL server through socket /run/mysqld/mysqld.sock (2) when trying to connect mysql报错2023-10-18T09:53:48.190738Z 82 [Warning] [MY-013360] [Server] Plugin mysql_native_password reported: mysql_native_password is deprecated and will be removed in a future release. Please use caching_sha2_password instead 错误表明 mysqldump 无法通过默认的本地套接字连接到 MySQL 服务器并且还有一个关于密码插件的警告。这通常发生在容器化环境中因为 MySQL 服务器和 mysqldump 命令运行在不同的容器中。 指定 MySQL 服务器的主机和端口 由于 mysqldump 默认尝试通过本地套接字连接 MySQL 服务器明确指定要使用的主机和端口。mysqldump -u root -p$your_password --default-character-setutf8mb4 -h $mysql_host $db_name /home/backup.sqlmysql_host 替换为你 MySQL 服务器容器的主机名或 IP 地址将 your_password替换为 MySQL 服务器用户密码。 解决密码插件警告 关于密码插件的警告通常是由于 MySQL 8 之后使用了默认的密码插件 caching_sha2_password 而不是 mysql_native_password。 如果你正在创建用户可以使用以下命令指定密码插件 CREATE USER your_user% IDENTIFIED WITH caching_sha2_password BY your_password;如果用户已创建请更改密码插件并重置密码 ALTER USER your_user% IDENTIFIED WITH caching_sha2_password BY your_password;
http://www.hkea.cn/news/14440891/

相关文章:

  • 建设旅游网站的工作方案国外购物网站app
  • win2008系统做网站济南建设工程信息网官网
  • 外贸做双语网站好还是单语网站阿里巴巴官网登录
  • wordpress wp_term_taxonomy东莞网站排名优化seo
  • 在百度做网站销售php 小企业网站 cms
  • 毕设做网站可以用模板吗寿光住房和城乡建设局网站
  • 网站建设工程大型电子商务网站 服务器硬件 cpu 内存 硬盘 2014
  • 无锡企业做网站重庆营销策划公司排名
  • 网站模板 古典网络推广外包业务怎么样
  • 云南省工程建设造价协会网站免费建手机商城网站
  • 网站修改标题有影响吗三点水网站建设
  • 重庆做的好的房产网站好js 修改 wordpress
  • 网站盈利模式设计wordpress自动变化文字
  • 北京给公司做网站多少钱建设环境工程技术中心网站
  • 免费网站免费领地西安网站建设和推广公司
  • 一个人可以做几个网站负责人wordpress模板用什么工具修改
  • 设计师网站十大网站推荐双语网站建设报价
  • 绵阳建设局官方网站沈阳中讯国际网站建设
  • 专注旅游网站网站开发用什么软件开发app
  • 免费课程网站有哪些织梦网站怎么做
  • 做网站界面用的软件如何做网站聚合页
  • 网站空间到期提示推广公司有哪些
  • 讨债公司网站建设服务平台入口
  • 如何分析网站建设知名企业官网
  • 深圳网站制作联系兴田德润亚马逊的网站建设分析
  • 手机端网站怎么制作必应网站建设
  • 有什么做视频的素材网站网站项目需求表
  • 郑州专业网页模板制作公司宿迁seo公司
  • 大浪网站建设哪些行业做网站多
  • 扬州专业做网站wordpress手机顶部菜单