docker打包当前dinky项目

news2024/12/23 4:50:35

以下是我的打包过程,大家可以借鉴。我也是第一次慢慢摸索,打包一个公共项目,自己上传。

如果嫌麻烦,可以直接使用我的镜像,直接跳到拉取镜像! <可以在任何地方的服务器进行拉取>

docker打包当前dinky项目

先在当前目录下,增加Dockerfile的文件。

因为官方的docker的dinky总有问题,特别麻烦。

编辑内容

FROM openjdk:8-jdk-alpine

WORKDIR /app

RUN apk update && \
    apk add --no-cache bash && \
    mkdir -p /app/dinky

COPY dinky /app/dinky

ENV MYSQL_ADDR=111.231.74.191:3306

# CMD /app/dinky/auto.sh stop && /app/dinky/auto.sh start 1.18

执行打包命令

docker build -t junlin4040/dinky .

推送镜像

docker push junlin4040/dinky

可以在任何地方的服务器进行拉取

docker pull junlin4040/dinky

启动容器

docker run -itd --name dinky --publish 8888:8888 --env MYSQL_ADDR=111.231.74.191:3306 junlin4040/dinky

注意MYSQL_ADDR 修改到你们的ip,尽量别连我的。

然后注意你们的数据库需要自己初始化dinky和dinky的sql数据。

进入容器

docker exec -it dinky /bin/bash

执行命令

cd dinky 
找到相关命令。
执行
./auto.sh start 1.18

如果提示 permission denied 

执行修改权限命令

我很直接,直接
chmod -R 777 /app/dinky

再次执行
./auto.sh start 1.18

然后用你的ip:8888就可以,如果是公网,需要打开防火墙,把8888加入进去。

在这里插入图片描述

注册flink实例

在这里插入图片描述

注意这个有时候注册不上去,如何地址没问题。是可以的。

如果还有疑问,就是看 dinky的nohup.out的日志。

刚才我竟然用了中文符号的:看也看不出来。

看日志才知道。现在就正常。


以下是打包dockerfile 碰到的一些问题 不断的修正。

tips: 修改

FROM alpine:latest

WORKDIR /app

RUN apk update && \
    apk add --no-cache bash && \
    mkdir -p /app/dinky

COPY dinky /app/dinky

ENV MYSQL_ADDR=111.231.74.191:3306

# CMD /app/dinky/auto.sh stop && /app/dinky/auto.sh start 1.18

查看日志

 tail -n 500 nohup.out
 nohup: can't execute 'java': No such file or directory

打包环境还是得加java

FROM alpine:latest 修改为  FROM openjdk:8-jdk-alpine

仿照例子

# jdk
FROM openjdk:8-jdk-alpine
# label
LABEL by="https://github.com/xxd763795151/kafka-console-ui"
# root
RUN mkdir -p /app && cd /app
WORKDIR /app
# config log data
RUN mkdir -p /app/config && mkdir -p /app/log && mkdir -p /app/data && mkdir -p /app/lib
# add file
ADD ./lib/kafka-console-ui.jar /app/lib
ADD ./config /app/config
# port
EXPOSE 7766
# start server
CMD java -jar -Xmx512m -Xms512m -Xmn256m -Xss256k /app/lib/kafka-console-ui.jar --spring.config.location="/app/config/" --logging.home="/app/log" --data.dir="/app/data"

本想使用scratch 不使用任何环境

FROM scratch
WORKDIR /dinky
COPY dinky /dinky
ENV MYSQL_ADDR=111.231.74.191:3306

特别的

RUN mkdir -p /app && cd /app

这个指令执行了两个操作:
mkdir -p /app:创建一个名为 /app 的目录。-p 选项表示如果目录已经存在,则不会引发错误,并且会递归创建所需的父目录。
cd /app:将当前工作目录更改为 /app。这意味着接下来的指令将在 /app 目录中执行。

因为要执行

mkdir

scratch改为Alpine
请注意,使用 
-d 模式运行容器时,如果容器没有一个长时间运行的进程,容器可能会自动退出。这也可能是您在使用 
docker run -d 后没有看到容器的原因之一。您可以通过检查容器的日志来查找容器为什么退出以及是否有错误发生。

是的,当您使用 docker run -it 在一个交互式终端中启动容器时,即使容器内部没有长时间运行的程序,容器也会保持运行状态。这是因为交互式终端会话会持续保持连接,使容器保持活动状态。
在这种情况下,当您退出交互式终端会话时,容器可能会自动停止并退出。如果您希望容器在后台持续运行,而无需保持与容器的交互,可以使用 docker run -d 在后台模式下启动容器。

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

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

相关文章

静态时序分析:SDC约束命令set_input_transition详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 目录 指定端口转换时间 指定端口列表 简单使用 指定上升、下降沿 指定最大、最小条件 与set_clock_transition命令的区别 DC工具在使用set_drive和set_driving_cell建模输入端口驱动…

【深度学习】主要提出者【Hinton】中国大会最新演讲【通往智能的两种道路】

「但我已经老了&#xff0c;我所希望的是像你们这样的年轻有为的研究人员&#xff0c;去想出我们如何能够拥有这些超级智能&#xff0c;使我们的生活变得更好&#xff0c;而不是被它们控制。」 6 月 10 日&#xff0c;在 2023 北京智源大会的闭幕式演讲中&#xff0c;在谈到如…

【分布式事务 XA模式】MySQL XA模式详解

MYSQL中的XA事务 写在前面1. XA事务的基本原理2. MySQL XA事务操作 写在前面 MySQL 的 5.0.3 版本开始支持XA分布式事务&#xff0c;并且只有innoDB存储引擎支持XA事务。 1. XA事务的基本原理 XA事务本质上是一种基于两阶段提交的分布式事务&#xff0c;分布式事务可以理解成…

DIcom调试Planar configuration

最近和CBCT组同事调dicom图像 这边得图像模块老不兼容对方得dicom文件。 vtk兼容&#xff0c;自己写得原生解析不兼容。 给对方调好了格式&#xff0c;下次生成文件还会有错。 简单记录下&#xff0c;日后备查。 今天对方又加了 个字段&#xff1a;Planar configuration 查…

【Java程序员面试专栏 数据结构】六 高频面试算法题:字符串

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊数组,包括数组合并,滑动窗口解决最长无重复子数组问题,图形法解下一个排列问题,以及一些常见的二维矩阵问题,所以放到一篇Blog中集中练习 题目…

无人机精准定位技术,GPS差分技术基础,RTK原理技术详解

差分GPS的基本原理 差分GPS&#xff08;Differential GPS&#xff0c;简称DGPS&#xff09;的基本原理是利用一个或多个已知精确坐标的基准站&#xff0c;与用户&#xff08;移动站&#xff09;同时接收相同的GPS卫星信号。由于GPS定位时会受到诸如卫星星历误差、卫星钟差、大…

前端学习——vue学习

文章目录 1. < el-form> 属性 model、prop、rules2. v-bind 与 v-model3. v-if 与 v-show4. v-for 循环语句5. 计算属性 computed6. 监视属性 watch7. 下拉框 el-select、el-option8. 自定义事件9. async与await实现异步调用 1. < el-form> 属性 model、prop、rule…

【CSS-语法】

CSS-语法 ■ CSS简介■ CSS 实例■ CSS id 和 class选择器■ CSS 样式表■ 外部样式表(External style sheet)■ 内部样式表(Internal style sheet)■ 内联样式(Inline style)■ 多重样式 ■ CSS 文本■ CSS 文本颜色■ CSS 文本的对齐方式■ CSS 文本修饰■ CSS 文本转换■ CS…

httpd apache

虚拟主机 配置环境 [rootlocalhost ~]#cd /var/www/html/ [rootlocalhost html]#mkdir 123 [rootlocalhost html]#mkdir abc [rootlocalhost html]#ls 123 abc [rootlocalhost html]#cd 123/ [rootlocalhost 123]#echo 123 > index.html [rootlocalhost 123]#cd ../abc/ […

《The Art of InnoDB》第二部分|第4章:深入结构-磁盘结构-撕裂的页面(doublewrite buffer)

4.5 撕裂的页面 目录 4.5 撕裂的页面 4.5.1 双写缓冲区的作用 4.5.2 双写缓冲区的结构 4.5.3 双写缓冲区与Redolog的协同工作流程 4.5.2 双写缓冲区写入时机 4.5.3 禁用双写缓冲区 4.5.4 小结 未完待续... 上文我们学习了redo log的结构和其工作原理&#xff0c;它是一…

vue+nodejs+uniapp婚纱定制婚庆摄影系统 微信小程序 springboot+python

目前移动互联网大行其道&#xff0c;人人都手中拿着智能机&#xff0c;手机手机&#xff0c;手不离机&#xff0c;如果开发一个用在手机上的程序软件&#xff0c;那是多么的符合潮流&#xff0c;符合管理者和客户的理想。本次就是开发婚庆摄影小程序&#xff0c;有管理员&#…

LeetCode 2476.二叉搜索树最近节点查询:中序遍历 + 二分查找

【LetMeFly】2476.二叉搜索树最近节点查询&#xff1a;中序遍历 二分查找 力扣题目链接&#xff1a;https://leetcode.cn/problems/closest-nodes-queries-in-a-binary-search-tree/ 给你一个 二叉搜索树 的根节点 root &#xff0c;和一个由正整数组成、长度为 n 的数组 qu…

Java中的常量与变量:初探Java世界的基石

✨✨ 所属专栏&#xff1a; Java基石&#xff1a;深入探索Java核心基础✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 一. 常量与变量的概念 常量 变量 总结 二. 常量的分类 1. 字面常量 2. 常量变量 3. 枚举常量…

设计模式篇---观察者模式

文章目录 概念结构实例总结 概念 观察者模式&#xff1a;定义对象之间的一种一对多的依赖关系&#xff0c;使得每当一个对象状态发生改变时&#xff0c;其他相关依赖对象都得到通知并被自动更新。 观察者模式是使用频率较高的一个模式&#xff0c;它建立了对象与对象之间的依赖…

JavaScript 进阶02

深入对象 构造函数 构造函数是用于创建对象的函数。 <script> //构造函数 构造函数的首字母大写 function Obj(name,age,aaa){this.namenamethis.ageage } //调用函数 const obj1new Obj("小明",4) console.log(obj1) </script> 使用 new 关键字调用…

2023年海南房地产经纪机构备案需要具备哪些条件?

房地产业在海南占有非常重要的地位。 同样&#xff0c;海南也有很多房地产中介机构。 那么&#xff0c;2023年海南房产中介登记证如何办理呢&#xff1f; 海南房产中介注册需要什么条件&#xff1f; 办理海南房产中介机构登记需要提交哪些材料&#xff1f; ……今天博宇会计小编…

Linux系统——Nginx小总结

目录 一、影响用户体验的因素 二、网络连接——Apache/Nginx服务请求过程 三、I/O模型——Input/Output模型 1.同步/异步 2.阻塞/非阻塞 3.同步异步/阻塞非阻塞组合 四、Nginx用法 一、影响用户体验的因素 客户端硬件配置客户端网络速率客户端与服务端距离服务端网络速…

freemarker模板引擎结合node puppeteer库实现html生成图片

效果图&#xff1a; 先看效果图&#xff0c;以下是基于freemarker模板渲染数据&#xff0c;puppeteer加载html中的js及最后图片生成&#xff1a; 背景&#xff1a; 目前为止&#xff0c;后台java根据html模板或者一个网页路径生成图片&#xff0c;都不支持flex布局及最新的c…

前端解析后端返回文件流格式数据

当后端接口返回数据是一个文件流数据时&#xff0c;如下后端返回给我的是一个pdf文件流数据 methods: {gotoPri() {protocolApi().then(res > {this.createPdf(res.data,XXX协议)})},createPdf(res, name) {// Blob构造函数返回一个新的 Blob 对象并指定type类型。let blob …

递归过程详解(Python)

See https://zhuanlan.zhihu.com/p/382721019