说明:使用Centos及jdk1.7、tomcat7.0制作基础镜像。baseos:1.0中主要为了调整时区
注意在启动容器时,指定了端口映射-p 8080:8080
一:首先创建空白的centos基础镜像
docker pull cetos
docker tag cetos:latest centos:base
复制代码
二:目录结构如下
[root@iZ28bi7khfvZ laughing]# ls
baseos jdktomcat
[root@iZ28bi7khfvZ laughing]# pwd
/laughing
[root@iZ28bi7khfvZ laughing]# ls
baseos jdktomcat
复制代码
三:在baseos文件夹下创建Dockerfile,并制作镜像
[root@iZ28bi7khfvZ laughing]# cd baseos/
[root@iZ28bi7khfvZ baseos]# ls
Dockerfile
[root@iZ28bi7khfvZ baseos]# cat Dockerfile
#Baseosimage
From centos:base
MAINTAINER Laughing_Lz 645596034@qq.com
LABEL Description="this image is the baseos image." Version="1.0"
ENV TIME_ZONE Asia/Shanghai
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo 'Asia/Shanghai' >/etc/timezone
复制代码
制作镜像如下:
docker build -t base:1.0 .
复制代码
四:在jdktomcat文件夹下创建Dockerfile,内容如下
[root@iZ28bi7khfvZ laughing]# cd jdktomcat/
[root@iZ28bi7khfvZ jdktomcat]# ls
apache-tomcat-7.0.88.tar.gz Dockerfile jdk-7u79-linux-x64.tar.gz
[root@iZ28bi7khfvZ jdktomcat]# cat Dockerfile
From base:1.0
MAINTAINER Laughing_Lz 645596034@qq.com
ADD jdk-7u79-linux-x64.tar.gz /usr/local
ADD apache-tomcat-7.0.88.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.7.0_79
ENV CLASSPATH $JAVA_HOME/lib /dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.88
ENV CATALINA_BASE /usr/local/apache-tomcat-7.0.88
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD [ "/usr/local/apache-tomcat-7.0.88/bin/catalina.sh", "run" ]
复制代码
五:以第四步的Dockerfile及tomcat和jdk的安装包制作镜像
docker build -t base:jdktomcat .
复制代码
六:以第五步制作的镜像启动容器
docker run -d -p 8080:8080 –name="zero" base:jdktomcat
复制代码
七:进入容器查看:
docker exec -it [ContainID] /bin/bash
复制代码
原文发表在我的博客:原文链接