使用Dockerfile制作tomcat镜像

[root@izuf61mqd75uk09tjnh7dfz tomcat]# ll
total 155304
-rwxr-xr-x 1 root root      1063 Oct 21 14:15 Dockerfile
drwxr-xr-x 8   10  143      4096 Jun 17  2014 jdk1.8.0_11
-rw-r--r-- 1 root root 159019376 Oct 21 13:42 jdk-8u11-linux-x64.tar.gz

Dockerfile内容如下:

[root@izuf61mqd75uk09tjnh7dfz tomcat]# more Dockerfile 
FROM 82f3b5f3c58f #本地下载的centos6.8镜像的ID
MAINTAINER XiaoChong

ENV  TIME_ZONE Asia/Shanghai
ENV LANG zh_CN.UTF-8

#切换镜像目录,进入/usr目录
WORKDIR /usr/local
#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk
#安装软件
RUN yum -y install wget curl

#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
ADD jdk1.8.0_11 /usr/local/jdk/

#从tomcat官网下载tomcat 
RUN cd /usr/local/ && wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz >/dev/null 2>&1
 && tar zxvf apache-tomcat-8.5.47.tar.gz >/dev/null 2>&1 && rm -rf apache-tomcat-8.5.47.tar.gz && mv apache-tomcat-8.5.47 tomcat

#设置环境变量
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH

RUN echo "${TIME_ZONE}" > /etc/timezone && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime
#公开端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

制作镜像:

docker build -t centos6.8/tomcat:8.5.47 .

查看镜像:

[root@izuf61mqd75uk09tjnh7dfz ~]# docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
centos6.8/tomcat                 8.5.47              ee2c2730c29b        19 hours ago        616 MB
docker.io/mysql                  5.7                 cd3ed0dfff7e        4 days ago          437 MB
docker.io/centos                 6.8                 82f3b5f3c58f        7 months ago        195 MB
docker.io/owncloud               latest              327bd201c5fb        9 months ago        618 MB
hub.c.163.com/library/owncloud   latest              183d08975211        2 years ago         587 MB

使用制作的镜像启动容器:

docker run -d -p 8081:8080 --name tomcat8 centos6.8/tomcat:8.5.47

docker commit :从容器创建一个新的镜像。

语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

实例:将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mymysql             v1                  37af1236adef        15 seconds ago      329 MB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值