[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