Kbengine游戏引擎-【5】用Dockerfile打包镜像kbengine
本文是以docker为例,以ubuntu 16.04做基础镜像
kengine 1.0.0 用supervisor来管理启动
先放下目录结构图:
kb--里面放的是kbengine的编译后的引擎以及demo


参考案例:https://github.com/Yenole/kbengine-docker/blob/master/Dockerfile
不过他这个写的我没实现成功
一、Dockerfile文件
FROM ubuntu:16.04
LABEL maintainer="116.com"
# 设置工作目录
WORKDIR /
# 更新并安装环境
RUN apt update
RUN apt install libmysqlclient-dev -y #数据库管理器(DBMgr)会用到,不然这个进程起不了,无法连接数据库
RUN apt install mysql-client -y
#解压安装引擎
COPY kb /
# 添加demo
RUN useradd kbe #安装supervisord #让supervisord启动在前端,这样不会down掉
RUN apt install supervisor -y
RUN chmod /etc/supervisor/supervisord.conf
COPY supervisord.conf /etc/supervisor/supervisord.conf
# 映射端口
EXPOSE
EXPOSE
EXPOSE
CMD ["/usr/bin/supervisord","-n","-c","/etc/supervisor/supervisord.conf"]
二.supervisord.conf文件
; supervisor config file [unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod= ; sockef file mode (default ) [supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) ; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket ; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves. [include]
files = /etc/supervisor/conf.d/*.conf
[program:kbe2]
user=kbe
environment=uid="1000",KBE_ROOT="/kbengine",KBE_RES_PATH="$KBE_ROOT/assets/:$KBE_ROOT/assets/scripts/:$KBE_ROOT/assets/res/",KBE_BIN_PATH="$KBE_ROOT/kbe/bin/server"
directory=/kbengine/assets/
command=/bin/sh start_server.sh
autostart=true
autorestart=true
[program:django]
directory=/kbengine/kbe/tools/server/webconsole/
command=/bin/sh run_server.sh
autostart=true
autorestart=true
三、构建镜像
docker build -t kbengine:v1 .
四、注意事项
1.提先要把数据库准备好,建好库已经用户密码。
2.环境变量问题
Kbengine游戏引擎-【5】用Dockerfile打包镜像kbengine的更多相关文章
- # 通过 DockerFile 打包镜像
在介绍 Docker 具体的操作前,先简要复习下 Docker 的架构,这样可以更好地帮助我们理解 Docker 中的各个命令. 首先我们一直对 Docker 这个叫法就有些误解,Docker 其实指 ...
- Kbengine游戏引擎-【4】demo-kbengine_unity3d_demo 在容器docker上安装测试
git地址:https://github.com/kbengine/kbengine_unity3d_demo Demo中文地址:https://github.com/kbengine/kbengin ...
- Kbengine游戏引擎-【2】kbengine引擎服务端目录结构分析
|- kbengine (KBE_ROOT 根目录) |- demo (游戏例子工程的根目录) |- res (工程的所有资源) |- spaces (通常存放游戏场景相关的资源,例如Navmesh) ...
- Kbengine游戏引擎-【1】kbengine安装
本文主要介绍如何在Linux上安装 官网环境要求:Centos >= 5.x, Debian >= 5.x GCC版本: >= 4.4.x 官网链接 本文的安装环境介绍:Centos ...
- Docker Dockerfile 定制镜像(转)
转自: https://yeasy.gitbooks.io/docker_practice/ 及 https://blog.csdn.net/wo18237095579/article/details ...
- 【2D游戏引擎】WIP反思
WIP(Working In Progress)是我初学游戏引擎开发时候开发的一个2D游戏引擎,当时计划为它实现类似Unity一样的编辑器,具有和Unity相似的工作流,但是由于水平不够,走了很多弯路 ...
- Docker Dockerfile 定制镜像
使用 Dockerfile 定制镜像 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么无法重复的问题 ...
- Docker用Dockerfile定制镜像
用Dockerfile定制镜像 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那之前提示的无法重复的问题 ...
- 开源免费的HTML5游戏引擎
青瓷引擎的成长 青瓷引擎自2015年4月项目启动开始,7月首次亮相2015年ChinaJoy,便得到业界的极大关注,随后开启限量测试,收到数百个开发者团队的试用申请及反馈,期间经历了18个内测版本,完 ...
随机推荐
- JAVA实现QQ聊天气泡
最近做了聊天气泡功能,为自己的聊天室美化了一下聊天效果: 先来看一下效果: 主要的思路是:以一个JTextPane作为显示的面板,然后自定义一个组件JBubble气泡组件来实现他的聊天气泡,然后通过J ...
- Python学习记录7-继承
面向对象的三大特性 封装 继承 多态 封装 封装就是对对象的成员进行访问限制 封装的三个级别: 公开,public 受保护的,protected 私有的,private public,private, ...
- Computer Vision_2_Active Shape Models:Active Shape Models-Their Training and Application——1995
此为计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面. 1. Active Appearance Models 活动表观模型和活动轮廓模型基本思想来源 Snake,现在 ...
- Mac上使用sunlogin向日葵软件远程控制电脑
1 安装软件 控制端和客户端都安装 https://sunlogin.oray.com/personal/download/ 2 再两台电脑上都安装好客户端和控制端后,打开控制端软件 可以看到自己登录 ...
- late_initcall 替换 module_init
今天在调试pwm驱动程序的时候,在__init函数中调用pwm_init后,则以太网不可用.pwm_init放在设备文件的open函数中,则系统正常运行. 这当中的区别就是硬件初始化函数pwm_ini ...
- kubernetes之download api
download api作用: 可以通过环境变量或Volume挂载将pod信息注入到容器内部 apiVersion: apps/v1 kind: Deployment metadata: name: ...
- Django框架起步
一.环境安装 二.创建项目 三.项目目录 四.创建项目应用 五.应用目录 六.第一个响应 七.第一个模板页面 八.第一个重定向 九.url应用移植 十.多应用相同模板页面冲突 十一.静态资源的配置 十 ...
- Jmeter官方插件实现Dubbo接口测试
目前主流的分布式框架有Dubbo和SpringCloud, SpringCloud是基于Http协议的分布式框架,Dubbo是基于RPC的分布式框架,Jmeter没有内置对Dubbo接口的支持,很难直 ...
- 快速排序详解(lomuto划分快排,hoare划分快排,classic经典快排,dualpivot双轴快排源码)
目录 快速排序(lomuto划分快排,hoare划分快排,classic经典快排,dualpivot双轴快排) 一.快速排序思想 二.划分思想 三.测试用例 快速排序(lomuto划分快排,hoare ...
- Apache版本兼容性问题
Apache 版本2.2.31 版本对于谷歌浏览器不兼容.IE8版本可以正常使用 当使用了Apache 高版本的话就解决了 出现以下现象