从头搭建一个本身的docker(centos7,jdk1.8,tomcat8)容器

假设你已经安装了docker!java

  1. 下载centos最新版镜像到本地。docker pull centos:7web

  2. 进入镜像的交互模式:docker run -i -t --name myweb centos:7 /bin/bashdocker

  3. 在镜像中安装jdk:yum install java-1.8.0-openjdk.x86_64 -y,能够使用java -version验证apache

  4. 在镜像中下载tomcat:wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
    若是没有wget,先使用yum install wget安装一下centos

  5. 解压tomcat: tar -xzvf apache-tomcat-8.5.32.tar.gztomcat

  6. 移动tomcat路径:cd apache-tomcat-8.5.5,mv * /opt/tomcat/bash

  7. 编写java web容器运行脚本,须要编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat,好比/root/run.sh做为启动文件,具体过程以下:app

    建立脚本:vi /root/run.sh
    编辑脚本,将如下内容写进去后保存:
    source ~/.bashrc
    sh /opt/tomcat/bin/catalina.sh run
    为运行脚本添加执行权限: chmod u+x /root/run.sh,退出容器。webapp

  8. 提交刚才操做的容器为新的镜像:经过docker ps -a 来查询全部的容器,提交:docker commit 69e8f5dcba1b mine/javaweb:1.0centos7

  9. 运行这个新的镜像:docker run -d -p 58080:8080 --name smart mine/javaweb:0.1 /root/run.sh

  10. tomcat启动成功,访问http://192.168.1.100:58080/ 既能够看到tomcat启动页面。

  11. 以挂载的方式启动web应用:docker run -d -v /root/webapp/shift.war:/opt/tomcat/webapps/shift.war --privileged=true -p 58080:8080 zhangda/centos7_jdk1.8_tomcat8 /root/run.sh (--privileged=true解决权限问题)

进入容器对话: docker exec -it b36b9710b164 /bin/bash

相关文章
相关标签/搜索