设为首页 收藏本站
查看: 2622|回复: 0

[经验分享] 搭建运行resin4的docker

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-11 12:21:20 | 显示全部楼层 |阅读模式
关于我,邯郸人。
  

对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
  

请支持原创

http://donlianli.iyunv.com/blog/2232858
  
  本人的目的就是在docker中运行resin。本人也是初次接触docker,在网上搜了好久,没有找到这样的教程,于是打算亲手写一个。为后续的兄弟提供一个借鉴。
  因为本人在之前稍微了解了一下docker,所以,docker的基本安装知识就不写了,网上一大堆。
  大概分为以下几步:


  • 下载Java基础镜像
  • 下载resin压缩包
  • 产生新镜像 resin4
  • 运行镜像
  • 查看已经映射出来的端口
  • 将webapp和resin日志映射出来
  本人运行环境:Ubuntu14,docker1.7,使用的root用户(sudo省略)
  其中第6步,本教程没有实现,等有时间再补一个吧。
  第一步:搜索Java镜像。这个很简单,使用docker search java。可以看到有java这个镜像的。所以第一步使用docker pull java,等待下载完成即可(这个要跑到国外去下载,过程比较慢,如果没有基础镜像,大概需要7-8百兆的样子)。
  
  第二步:在当前目录下面创建resin4目录(mkdir resin4;cd resin4)。
  然后使用wget下载,当前最新版本为4.0.44
  

wget http://caucho.com/download/resin-4.0.44.tar.gz
  然后解压到当前文件夹(解压后文件夹resin-4.0.44)。
  
  
  第三步:在当前目录(resin4)下面创建Dockerfile,Docker使用这个文件产生新的镜像,因为resin4必须在docker中运行。
  Dockerfile内容如下:
  

FROM java:latest
ADD resin-4.0.44 /opt/resin4
EXPOSE 8080
CMD ["/opt/resin4/bin/resin.sh","console"]

  然后我们给新产生的镜像名称叫resin4test,在当前文件夹下面运行命令:
  

docker build -t resin4test:latest .
  -t后面就是镜像的名称。最后的.是告诉docker Dockerfile的位置在当前目录。
  
  然后就是一个构建过程。如果顺利,构建成功后,使用docker images。可以看到已经有resin4test的镜像。
  
  我再解释一下Dockerfile中的CMD。这个是告诉docker,启动docker时要运行的命令。其实就是告诉docker,我要在docker中运行的resin4的启动脚本。因为docker要求运行的主进程不能退出,一旦退出,docker也会退出。因此必须要求resin以非daemon的方式运行(resin.sh console)。其他的命令都比较简单,读者自悟。
  
  第四步:运行镜像。
  

docker run -d -P resin4test
  
  
  
  其中-d是告诉docker让docker以后台的方式运行(resin虽然不能daemon,但docker要daemon)。 -P是告诉docker,要把8080端口给我映射出来,这样,才能让宿主机以外的机器访问到。
  
  那么,启动后,如何看resin启动成功没有呢?使用
  

docker ps
  查找容器的id,然后使用docker logs 容器id查看启动日志。
  
  

docker logs 43120c1b6007
  
  
  第五步:验证resin
  刚才查看日志,只能确定启动成功,具体,如何访问呢?
  

docker ps -a
  可以看到类似如下的输出:
  
  

43120c1b6007        resin4test              "/opt/resin4/bin/res   3 minutes ago       Up 3 minutes              0.0.0.0:32768->8080/tcp   gloomy_albattani  
  
  
  可以看到8080被映射到了宿主机的32768,我们使用这个端口测试一下:
  curl 'http://localhost:32768'
大功告成。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-163040-1-1.html 上篇帖子: Resin3+apache+windows集成 下篇帖子: centos 安装 java resin
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表