容器化学习-Dockerfile实战

基于Dockerfile构建Tomcat+JDK的镜像
(1)基于Dockerfile构建镜像依赖基础镜像,先下载个基础镜像

[root@localhost ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

(2)将Tomcat和JDK应用程序放在Dockerfile的同级目录下

[root@localhost docker]# ls -ltr
total 194636
-rw-r--r--. 1 root root   9544774 Aug 13 07:55 apache-tomcat-8.5.28.tar.gz
-rw-r--r--. 1 root root 189756259 Aug 13 07:56 jdk-8u161-linux-x64.tar.gz

(3)开始编写Dockerfile

[root@localhost docker]# cat Dockerfile 
FROM  centos:latest
MAINTAINER zhangq
#执行命令:创建目录
#将Tomcat和jdk添加到镜像centos的/usr/local/soft/目录下
ADD apache-tomcat-8.5.28.tar.gz /usr/local/
ADD jdk-8u161-linux-x64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_161
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.28
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.28
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#暴露8080端口
EXPOSE 8080
#启动时运行TOMCAT
CMD ["/usr/local/apache-tomcat-8.5.28/bin/catalina.sh","run"]

(4)开始构建容器镜像

[root@localhost docker]# docker build -t my_tomcat:v1.0 .
[+] Building 46.4s (8/8) FINISHED                                                                                             docker:default
 => [internal] load build definition from Dockerfile                                                                                    0.3s
 => => transferring dockerfile: 694B                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                       0.4s
 => => transferring context: 2B                                                                                                         0.1s
 => [internal] load metadata for docker.io/library/centos:latest                                                                        0.0s
 => [1/3] FROM docker.io/library/centos:latest                                                                                          0.0s
 => [internal] load build context                                                                                                      10.0s
 => => transferring context: 199.35MB                                                                                                   8.2s
 => [2/3] ADD apache-tomcat-8.5.28.tar.gz /usr/local/                                                                                   2.5s
 => [3/3] ADD jdk-8u161-linux-x64.tar.gz /usr/local/                                                                                   16.4s
 => exporting to image                                                                                                                 15.3s
 => => exporting layers                                                                                                                14.7s
 => => writing image sha256:a93bbcf8ae71ae85bc5cf835d30be623ab24062d898416bdfea0a6fb23997181                                            0.1s
 => => naming to docker.io/library/my_tomcat:v1.0                                                                                       0.1s
[root@localhost docker]# docker images 
REPOSITORY    TAG       IMAGE ID       CREATED          SIZE
my_tomcat     v1.0      a93bbcf8ae71   47 seconds ago   629MB
hello-world   latest    9c7a54a9a43c   3 months ago     13.3kB
centos        latest    5d0da3dc9764   23 months ago    231MB

(5)启动容器验证镜像

[root@localhost docker]# docker run -d --name mytomcat -p 8080:8080 my_tomcat:v1.0
f024c07379c33714c85e51167a728f9888c2a549df7b3a0496e5297711737bbc
[root@localhost docker]# 
[root@localhost docker]# 
[root@localhost docker]# 
[root@localhost docker]# docker ps
CONTAINER ID   IMAGE            COMMAND                  CREATED         STATUS         PORTS                                       NAMES
f024c07379c3   my_tomcat:v1.0   "/usr/local/apache-t…"   8 seconds ago   Up 3 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   mytomcat
[root@localhost docker]# 

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值