`
donlianli
  • 浏览: 336358 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Elasticsearch...
浏览量:216606
社区版块
存档分类
最新评论

搭建运行resin4的docker

阅读更多
关于我,邯郸人

 

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

 

请支持原创
http://donlianli.iteye.com/blog/2232858

 

本人的目的就是在docker中运行resin。本人也是初次接触docker,在网上搜了好久,没有找到这样的教程,于是打算亲手写一个。为后续的兄弟提供一个借鉴。

因为本人在之前稍微了解了一下docker,所以,docker的基本安装知识就不写了,网上一大堆。

大概分为以下几步:

  1. 下载Java基础镜像
  2. 下载resin压缩包
  3. 产生新镜像 resin4
  4. 运行镜像
  5. 查看已经映射出来的端口
  6. 将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'
大功告成。

0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics