docker-dockerfile构建与部署tomcat

dockerfile构建与部署tomcat

1. 创建dockerfile存放目录

1.1 创建目录

[root@docker ~]# mkdir -p /dockerfile
[root@docker ~]# cd /dockerfile/
[root@docker dockerfile]# mkdir -p tomcat
[root@docker dockerfile]# cd tomcat/

2. 创建tomcat dockerfile配置文件

2.1 创建文件

[root@docker nginx]# touch Dockerfile

2.2 下载地址

软件准备
JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
Tomcat下载:http://tomcat.apache.org/
以上是软件在的连接,可以参考

2.3 下载tomcat包

[root@docker tomcat]# wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.59/bin/apache-tomcat-8.5.59.tar.gz

3 编写文件dockerfile文件

[root@docker tomcat]# vim Dockerfile 
[root@docker tomcat]# cat Dockerfile 
# this docker file
# VERSION 1.0
# author: shichao
# email: shichao@scajy.cn

FROM centos:7
MAINTAINER  shichao@scajy.cn
ENV VERSION=8.5.59

RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel net-tools wget curl unzip iproute java-1.8.0-openjdk && yum clean all  && rm -rf /var/cache/yum/* 
ADD apache-tomcat-{{VERSION}}.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-{{VERSION}}   /usr/local/tomcat &&
	sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && 
	ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH /usr/local/tomcat/bin:$PATH

WORKDIR /usr/local/tomcat
EXPOSE 9000
CMD ["catalina.sh", "run"]

4. 构建tomcat

[root@docker tomcat]# docker build -t tomcat:v1 .
Sending build context to Docker daemon  10.44MB
Step 1/10 : FROM centos:7
 ---> 7e6257c9f8d8
Step 2/10 : MAINTAINER  shichao@scajy.cn
 ---> Using cache
 ---> cd20399516af
Step 3/10 : ENV VERSION=8.5.59
 ---> Using cache
 ---> f1139ddeb314
Step 4/10 : RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel net-tools wget curl unzip iproute java-1.8.0-openjdk && yum clean all  && rm -rf /var/cache/yum/*
 ---> Using cache
 ---> 4b2596c60299
Step 5/10 : ADD apache-tomcat-${VERSION}.tar.gz /usr/local/
 ---> 00857d2da2e1
Step 6/10 : RUN mv /usr/local/apache-tomcat-${VERSION}   /usr/local/tomcat &&	sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && 	ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 ---> Running in d41a123c6e10
Removing intermediate container d41a123c6e10
 ---> 5df335cbd630
Step 7/10 : ENV PATH /usr/local/tomcat/bin:$PATH
 ---> Running in 2ceb7e5a592c
Removing intermediate container 2ceb7e5a592c
 ---> 991e8db1994c
Step 8/10 : WORKDIR /usr/local/tomcat
 ---> Running in 4fc92228cbe4
Removing intermediate container 4fc92228cbe4
 ---> be9f9bcd73cd
Step 9/10 : EXPOSE 9000
 ---> Running in 66cccb1627a7
Removing intermediate container 66cccb1627a7
 ---> 8c2ae8c3fb0a
Step 10/10 : CMD ["catalina.sh", "run"]
 ---> Running in b9c1f6fe0604
Removing intermediate container b9c1f6fe0604
 ---> ae7545acb7f4
Successfully built ae7545acb7f4
Successfully tagged tomcat:v1

5. 查看镜像,验证是否构建成功

[root@docker php]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              v1                  ae7545acb7f4        21 minutes ago      545MB
nginx               v1                  33ef1623b1e8        29 hours ago        365MB
mysql               5.7                 42cdba9f1b08        2 days ago          448MB
nginx               nginx01             2fc3f55169e9        5 days ago          133MB
nginx               latest              7e4d58f0e5f3        4 weeks ago         133MB
busybox             latest              6858809bf669        5 weeks ago         1.23MB
centos              7                   7e6257c9f8d8        2 months ago        203MB
centos              latest              0d120b6ccaa8        2 months ago        215MB

6. 使用tomcat镜像,创建docker容器

[root@docker php]# docker run -d --name=tomcat --network=test -p8080:8080 tomcat:v1
84a078c1881295674cfb4c1c5258975481f2548885cb4c42d433b019f2d775ed

7. 验证tomcat容器是否正常运行

[root@docker php]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                              NAMES
84a078c18812        tomcat:v1           "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp, 9000/tcp   tomcat

8. 浏览器访问验证

  • 查看本机ip

    [root@docker php]# ifconfig eth0
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.200.126  netmask 255.255.255.0  broadcast 192.168.200.255
            inet6 fe80::250:56ff:feb6:c59f  prefixlen 64  scopeid 0x20<link>
            inet6 fd37:1f22:7906:0:250:56ff:feb6:c59f  prefixlen 64  scopeid 0x0<global>
            ether 00:50:56:b6:c5:9f  txqueuelen 1000  (Ethernet)
            RX packets 129647712  bytes 11515075121 (10.7 GiB)
            RX errors 0  dropped 366926  overruns 0  frame 0
            TX packets 532831  bytes 48962356 (46.6 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
  • 浏览器访问

原文地址:https://www.cnblogs.com/scajy/p/13840174.html