tomcat镜像制作实验

此篇文章是学习镜像制作的简单记录:其中包含一次失败的方法(文中有讨论欢迎留言)

获取镜像:

docker pull openshift/base-centos7

获取成功后如下所示:

docker.io/openshift/base-centos7              latest              4842f0bd3d61        22 months ago       383 MB

启动镜像:

docker run -it docker.io/openshift/base-centos7 /bin/bash

安装tomcat并启动

bash-4.2#yum install tomcat -y

bash-4.2# which tomcat
/usr/sbin/tomcat
bash-4.2# tomcat version
Server version: Apache Tomcat/7.0.76
Server built:   Oct 16 2018 09:15:49 UTC
Server number:  7.0.76.0
OS Name:        Linux
OS Version:     3.10.0-514.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_191-b12
JVM Vendor:     Oracle Corporation
启动tomcat时出现如下问题:

bash-4.2# tomcat start
Failed to get D-Bus connection: Operation not permitted

网上搜索后,改为如下启动

docker run -it --privileged=true docker.io/openshift/base-centos7 /bin/bash

如此启动任然会有问题,之后改为如下方式

docker run -d  --privileged=true openshift/base-centos7 /usr/sbin/init

重复以上安装tomcat的过程,此时tomcat start可以启动tomcat。

造成如此具体原因不太清楚,如有人了解欢迎留言讨论

但是基于此容器docker commit生成的镜像:

docker commit 53452a8709a7 tomcat-test:v1

后台启动此镜像后进入启动tomcat也会失败

[root@node-1 yaml]# docker run -d tomcat-test:v1
ffeae0c57696b31b7128b46464349575f12436f12e2f0e7e6ef83759260fb136
[root@node-1 yaml]# docker exec -it ffeae0c57696b31b7128b46464349575f12436f12e2f0e7e6ef83759260fb136 /bin/bash
bash-4.2# tomcat version
bash-4.2# tomcat start
Failed to get D-Bus connection: Operation not permitted
bash-4.2# 

基于以上情况觉得如此方法制作tomcat镜像可能是行不通,不确定基于在启动的容器中直接安装tomcat后,然后docker commit生成新镜像的这种方法是不是不可行,还是说整个过程需要额外的操作,如哪位大神知道原因欢迎留言讨论或发邮件1771542932@qq.com

基于以上原因更换了制作方法:

mkdir dockerfile

拷贝准备好的apache-tomcat-7.0.79,拷贝到dockerfile路径下

编写dockerfile: 
FROM openshift/base-centos7:latest
RUN yum install java -y
COPY . /opt/
#Auto running  service
CMD ["/opt/apache-tomcat-7.0.79/bin/catalina.sh", "run"]

执行命令生成镜像:

docker build -t tomcat-test:v1 .

基于此生成的镜像经验证可使用。


 


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值