本人的目的就是在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'
大功告成。
相关推荐
Docker 搭建 SRS(Simple Realtime Server)视频服务器是一种便捷的部署方式,利用 Docker 容器化技术可以快速实现流媒体服务环境的一键安装与运行。SRS 是一个高性能、易于扩展的实时流媒体服务器,支持 RTMP、...
NULL 博文链接:https://zhongmin2012.iteye.com/blog/2344617
1.先运行 createFile.py 输入宿主机IP地址,输入redis密码 2.按照控制台输出执行docker-compose up -d 启动命令 3.启动成功后执行加入集群命令即可
tvial/docker-mailserver邮箱服务器。可以自己在小网中搭建一个邮件服务器自己玩。启动方法 docker run --name forsaken-mail -itd -p 2255:25 -p 3000:3000 tvial/docker-mailserver:latest
搭建本地docker ChatGPT环境
如何在本地搭建docker ChatGPT环境.zip
这周末体验了一下挺火的Docker技术,记录学习笔记。...容器—容器相当于一个可以运行起来的虚拟机,应用程序运行在容器中,Docker运行在“Docker”上; 仓库—仓库是存放镜像的地方,有类似git的版本控制,同
docker容器中搭建kafka集群环境,kafka集群配置注意事项与优化
docker 快速搭建php环境 docker包,一键启动开发环境,docker 快速搭建php环境 docker包,一键启动开发环境
在docker环境中,我找了很久,发现wnameless/oracle-xe-11g 镜像还不错,很方便搭建起来。 但是也发现一个问题,挂载本地卷遇到了麻烦。一旦挂载,就无法登陆了。从官方的issues中发现,有一个fork版本解决了这个...
Docker 本身就是基于 Linux 的,所以首先以我的一台服务器做实验。虽然最后跑 wordcount 已经由于内存不足而崩掉,但是之前的过程还是可以参考的。 连接服务器 使用 ssh 命令连接远程服务器。 ssh root@[Your IP ...
简单几步让你学会搭建docker ChatGPT环境
Docker环境搭建文档1 Docker是一种容器化技术,能够将应用程序及其依赖项打包到一个容器中,实现应用程序的快速部署和隔离。以下是 Docker 环境搭建文档1 的知识点总结: 一、安装 Docker 要安装 Docker,需要...
使用这条命令西在docker-compose太慢了而且老失败 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$...我这边包需要下载的都提供了,助力你搭建vulhub靶场
推荐理由:一个让你在Docker中运行macOS操作系统的项目。通过仅需两条命令,用户可以在Docker容器中轻松启动一个macOS操作系统。这为开发者提供了一种简单而刺激的方式,让他们可以在非苹果硬件上体验macOS,从而...
4. 安装必要的软件包是搭建容器的重要步骤。 5. 更新所有程序是搭建容器的重要步骤。 6. 使用 `sed` 命令可以更新配置文件。 7. 使用 `yum` 命令可以安装和更新软件包。 总结: 在本节中,我们介绍了如何使用 ...
首先,创建一个 Docker 镜像,用于运行 Redis 服务。然后,使用 Docker Compose 工具,定义多个 Redis 容器,并将其组成一个集群。 五、Redis 集群搭建优点 使用 Docker 实现 Redis 集群搭建有许多优点,如: * ...
arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构...