docker 构建 jdk1.8 tomcat images

1. 创建docker 目录  

    mkdir /z/docker

    cd /z/docker

2. 下载并解压jdk-8u144-linux-x64.tar.gz, 修改目录名为java

3. 下载并解压apache-tomcat-7.0.52.tar.gz,修改目录名为tomcat7

4. 编写 docker 构建 文件 

    vi Dockerfile

    复制以下内容到 Dockedrfile 中

    #使用的基础镜像

    FROM centos
    #创建目录
    RUN mkdir -p /z/home
    #把当前目录下的jdk文件夹添加到镜像
    ADD tomcat /z/home/tomcat7.0
    ADD java /z/home/java
    ENV JAVA_HOME /z/home/java/
    ENV CATALINA_HOME /z/home/tomcat7.0
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
    #暴露8080端口
    EXPOSE 8080
    #启动时运行tomcat
    CMD ["/z/home/tomcat7.0/bin/catalina.sh","run"]

5. 构建 images镜像

    docker build -t repos_local/tomcat .

6. 根据镜像启动一个 container

    docker run -d -p 8085:8080 --name tomcat repos_local/tomcat

    docker run  -d 后台执行  -p 主机暴露端口:容易端口 --name container名称(唯一)  镜像名称

7. 查看是否启动

    docker ps

    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                            NAMES
    86fcdd2a61f8        repos_local/tomcat             "/z/home/tomcat7.0..."   About an hour ago   Up About an hour         0.0.0.0:8085->8080/tcp                           test_tomcat

8. 可能会出现防火墙 问题 , 这里我使用的 是iptables

    以下为我防火墙配置 , 可粘贴过去 

    修改防火墙配置 

    vi /etc/sysconfig/iptables

    *nat

    :PREROUTING ACCEPT [27:11935]
    :INPUT ACCEPT [0:0]
    :OUTPUT ACCEPT [598:57368]
    :POSTROUTING ACCEPT [591:57092]
    :DOCKER - [0:0]
    -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
    -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
    COMMIT
    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [139291:461018923]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [127386:5251162]
    :DOCKER - [0:0]
    -A INPUT -p tcp -m tcp --dport 8085 -j ACCEPT
    -A FORWARD -o docker0 -j DOCKER
    -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
    -A FORWARD -i docker0 -o docker0 -j ACCEPT
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibite
    -A OUTPUT -p tcp -m tcp --sport 8085 -j ACCEPT
    COMMIT

    重启防火墙

    service iptables restart

9.重启防火墙之后 重新启动docker start test_tomcat(前面指定的name)

10. 打开浏览器 http://192.168.1.100:8085    (前面是虚拟机ip)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值