【解决】docker一键部署报错

项目场景见:【记录】Springboot项目集成docker实现一键部署-CSDN博客

问题:

1.docker images 有tag为none的镜像存在。

2.有同事反馈,第一次启动docker-compose up -d 项目无法正常启动。后续正常。

原因:

1.服务中指定了镜像mysql:5.7,而mysql-dockerfile中也指定了,同时dockerfile中对镜像做了修改,导致出现。解决办法:删除此处image。

2.第一次启动docker-compose up -d 项目无法正常启动。经过调查发现可能是因为mysql服务启动后但是数据还未初始化完成,这是项目启动第一时间获取数据源失败导致。

解决办法:做了一个延迟处理,即mysql服务启动后一段时间再启动web应用服务。

具体docker-compose.yml文件修改如下:

    其中 entrypoint: ["sh", "-c", "sleep 20 && java -jar weiyi.jar"] 替代了原dockerfile中的启动应用命令,表示延迟20秒执行“ java -jar weiyi.jar”命令。

version : '3'
services:weiyi-mysql:container_name: weiyi-mysqlbuild:context: .dockerfile: mysql-dockerfileports:- "3306:3306"volumes:- ./mysql/conf:/etc/mysql/conf.d- ./mysql/logs:/logs- ./mysql/data:/var/lib/mysqlcommand: ['mysqld','--innodb-buffer-pool-size=80M','--character-set-server=utf8mb4','--collation-server=utf8mb4_unicode_ci','--default-time-zone=+8:00','--lower-case-table-names=1']environment:MYSQL_DATABASE: weiyidbMYSQL_ROOT_PASSWORD: xxxxxweiyi-server:container_name: weiyi-serverbuild:context: .dockerfile: weiyi-dockerfileports:- "80:80"volumes:- ./weiyi/logs:/home/weiyi/logs- ./weiyi/uploadPath:/home/weiyi/uploadPathdepends_on:- weiyi-mysqlentrypoint: ["sh", "-c", "sleep 20 && java -jar weiyi.jar"]

启动测试无问题:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

laravel、tp等框架底层代码config方法实现示例

剖析php如何优雅得实现框架config方法核心代码 在php的laravel、tp框架中,普遍采用配置文件直接return数组的方式存放配置信息、日常的代码编写我们并不会这样做,其实核心代码很简单,只需要把include file赋值给变量即可 php if(!function_exists("config&quo…

Eclipse中开启服务,网页无法打开 运行程序显示404

一、eclipse中开启服务后,网页无法打开的问题 当你在eclipse中开启服务后,如果网页无法打开,可能是以下几个原因导致的: 1. 端口冲突:请确保你所使用的端口没有被其他程序占用。可以尝试更换一个未被占用的端口。 2…

【QEMU系统分析之实例篇(十四)】

系列文章目录 第十四章 QEMU系统仿真的机器创建分析实例 文章目录 系列文章目录第十四章 QEMU系统仿真的机器创建分析实例 前言一、QEMU是什么?二、QEMU系统仿真的机器创建分析实例1.系统仿真的命令行参数2.完成早期后端驱动的设置工作qemu_create_early_backends(…

Jackson-jr 对比 Jackson

关于Jackson-jr 对比 Jackson 的内容,有人在做了一张下面的图。 简单点来说就 Jackson-jr 是Jackson 的轻量级应用,因为我们在很多时候都用不到 Jackson 的很多复杂功能。 对很多应用来说,我们可能只需要使用简单的 JSON 读写即可。 如我们…

【Linux网络】网络文件共享

目录 一、存储类型 二、FTP文件传输协议 2.1 FTP工作原理 2.2 FTP用户类型 2.3 FTP软件使用 2.3.1 服务端软件vsftpd 2.3.2 客户端软件ftp 2.4 FTP的应用 2.4.1 修改端口号 2.4.2 匿名用户的权限 2.4.3 传输速率 三、NFS 3.1 工作原理 3.2 NFS软件介绍 3.3 NFS配…

企业级数据治理学习总结

1. 水在前面 “数据治理”绝对是吹过的牛里面最高大上的题目了,本来想直接以《企业级数据治理》为题来水的,码字前又跑去图书馆借了几本书,翻了几页才发现自己连半桶水都提不起,撑死只能在小屁孩跟前吹吹牛。 好吧,实在…

怎么把jpg图片变成gif?参考这个方法一键制作

Jpg图片如何变成gif图片?Jpg、gif都是最常用的图片格式,想要将这两种格式的图片互相转化的时候要怎么操作呢?想要将jpg图片变成gif方法很简单,只需要使用gif图片制作(https://www.gif5.net/)工具-GIF5工具网…

华为手机ip地址怎么切换

随着移动互联网的普及,IP地址成为了我们手机上网的重要标识。然而,在某些情况下,我们可能需要切换手机的IP地址,以更好地保护个人隐私、访问特定地区的内容或服务,或者出于其他网络需求。华为手机作为市场上的热门品牌…

开源相机管理库Aravis学习——pixel format编码规则

开源相机管理库Aravis学习——pixel format编码规则 前言前置知识PixelFormatBpp 编码规则源码分析分类标准 补充ARV_PIXEL_FORMAT_BIT_PER_PIXEL 参考文章 前言 在学习Aravis官方例程的时候,有这么一个函数:arv_camera_get_pixel_format,它…

Docker安装MySQL8数据表名大小写问题

项目使用了Flowable工作流,导入sql时候需要MySQL忽略大小写,使用MySQL5.7时可以通过 在my.cnf文件中添加lower_case_table_names1实现。 [mysqld] lower_case_table_names1使用MySQL8上述方法失效,可以通过创建Docker容器时添加参数--lower_…

微信小程序开发中的网络请求和数据获取:从入门到实践

微信小程序开发中的网络请求和数据获取:从入门到实践 在微信小程序开发中,网络请求和数据获取是构建动态、交互式应用的关键环节。本文将深入探讨微信小程序的网络请求机制,并提供丰富的代码示例,帮助读者从零开始掌握这一重要技…

《从Paxos到Zookeeper》读书笔记

本文是对于从Paxos到Zookeeper的笔记和提纲整理 主要用于复习和知识点梳理 第一、二、三章:分布式基础 链接:《从Paxos到Zookeeper》——第一、二、三章:分布式基础 第一章 分布式架构 [1.1] 分布式的特点(集中式/分布式&#xf…

C语言经典例题-12

1.杨辉三角 题目描述: KK知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他 解答。杨辉三角,本质上是二项式(ab)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1&#…

用队列实现栈——leetcode刷题

题目的要求是用两个队列实现栈,首先我们要考虑队列的特点:先入先出,栈的特点:后入先出,所以我们的目标就是如何让先入栈的成员后出栈,后入栈的成员先出栈。 因为有两个队列,于是我们可以这样想&…

vue3(实现上下无限来往滚动)

一、问题描述 一般在大屏项目中,很常见的效果,就是容器中的内容缓慢地向下移动,直到底部停止,然后快速滚动回顶部,然后接着缓慢滚动到底部。并且在特定的情况下,还需要进行一些小交互,那就还得让…

Leetcode——面试题02.04.分割链表

面试题 02.04. 分割链表 - 力扣(LeetCode) 对于该链表OJ,我们两种大的方向: 1.在原链表上修改;2.创建新链表,遍历原链表。 在原链上进行修改:如果该节点的val小于x则继续往后走,如…

2.3Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue进阶

Vue方法、计算属性及监听器 在vue中处理复杂的逻辑的时候,我们经常使用计算属性、方法及监听器。 methods:方法:它们是挂载在Vue对象上的函数,通常用于做事件处理函数,或自己封装的自定义函数。 computed&#xff1…

Ubuntu服务器创建新用户及解决新用户登录Access denied问题

目录 Ubuntu服务器创建新用户及解决新用户登录Access denied问题创建账号步骤创建用户只创建用户添加用户到sudo组 允许账号远程连接重启ssh服务 删除账号要删除用户而不删除用户文件如果要删除并且删除用户的家目录和邮件 查询指令查看所有用户查询特定用户账户信息查看用户组…

Java中面向对象三大特征(封装、继承、多态)

目录 一、封装 1.1 封装的意义 1.2 如何进行封装 二、继承 2.1 继承的意义 2.2 如何继承 2.3 继承的优点 2.4 继承的缺点 三、多态 3.1 多态的定义 3.2 多态的使用要求 一、封装 所谓封装就是将对象的属性隐藏起来,不让外界直接访问,而是通过…

【Micropython Pitaya Lite教程】key按键与EXTI中断

文章目录 前言一、按键的使用1.1 按键的简介1.2 读取按键的高低电平 二、EXIT外部中断2.1 EXIT外部中断简介2.2 外部中断基础知识2.3 设置外部中断2.4 示例代码 总结 前言 Micropython Pitaya Lite开发板提供了丰富的功能和灵活的扩展性,其中包括了按键&#xff08…