一、自定义Tomcat

1、创建工程目录
(1)、在itcloudblog目录下创建tomcat目录
(2)、新建read.txt
(3)、将JDK和tomcat安装的压缩包拷贝上一步目录
(4)、在tomcat目录下新建一个Dockerfile文件

[root@localhost tomcat]# ls -l
total 178352
-rw-r--r--. 1 root root   9352747 Jul 30 13:09 apache-tomcat-8.0.46.tar.gz
-rw-r--r--. 1 root root       659 Jul 30 13:23 Dockerfile
-rw-r--r--. 1 root root 173271626 Jul 30 13:10 jdk-8u45-linux-x64.tar.gz
-rw-r--r--. 1 root root         0 Jul 30 13:10 read.txt
[root@localhost tomcat]# 

2、DockerFile文件内容

FROM centos:7

MAINTAINER itcloudblog<zhangxiansen@itcloudblog.cn>

COPY read.txt /usr/local/cincontainer.txt

ADD jdk-8u45-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.0.46.tar.gz /usr/local/

RUN yum install -y vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_45
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.0.46
ENV CATALINA_BASE /usr/local/apache-tomcat-8.0.46
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-8.0.46/bin/startup.sh && tail -F
CMD /usr/local/apache-tomcat-8.0.46/bin/logs/catalina.out

3、构建镜像

[root@localhost tomcat]# docker build -t diytomcat .
[+] Building 127.2s (11/11) FINISHED                                                                                
 => [internal] load build definition from Dockerfile                                                           
 => => transferring dockerfile: 757B                                                                           
 => [internal] load .dockerignore                                                                              
 => => transferring context: 2B                                                                                
 => [internal] load metadata for docker.io/library/centos:7                                                   
 => CACHED [1/6] FROM docker.io/library/centos:7@sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd6184  0.0s
 => [internal] load build context                                                                              
 => => transferring context: 300B                                                                              
 => [2/6] COPY read.txt /usr/local/cincontainer.txt                                                            
 => [3/6] ADD jdk-8u45-linux-x64.tar.gz /usr/local/                                                            
 => [4/6] ADD apache-tomcat-8.0.46.tar.gz /usr/local/                                                          
 => [5/6] RUN yum install -y vim                                                                              
 => [6/6] WORKDIR /usr/local                                                                                   
 => exporting to image                                                                                        
 => => exporting layers                                                                                        
 => => writing image sha256:d0da6bd0be0909106ca4f4178437a39f6de53c0efb59528d4fde4e64a77aadae                   
 => => naming to docker.io/library/diytomcat                                                                   
[root@localhost tomcat]#                                                          
构建完成

4、查看确定构建完毕

[root@localhost tomcat]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
diytomcat             latest    d0da6bd0be09   10 minutes ago   827MB

5、运行启动tomcat

[root@localhost tomcat]# docker run -d -p 9090:8080 --name mydiytomcat -v /home/itcloudblog/build/tomcat/test:/usr/local/apache-tomcat-8.0.46/webapps/test -v /home/itcloudblog/build/tomcat-tomcat8logs/:/usr/local/apache-tomcat-8.0.46/logs --privileged=true diytomcat
dfbcd6765adb61a6c7f3eea121885eb61ce430be673f728b77ec6c98445d781d
                             

2023-07-30_134444.png
6、验证测试访问

curl localhost:9090

2023-07-30_141429.png

二、发布镜像

1、在dockerhub上注册一个账号

https://hub.dockercom/signup

2、登录到dockerhub

[root@localhost ~]# docker login -u itcloudblog0520
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@localhost ~]#

3、将镜像发布出去

[root@localhost ~]# docker push itcloudblog0520/diytomcat8:1.0
The push refers to repository [docker.io/itcloudblog0520/diytomcat8]
An image does not exist locally with the tag: itcloudblog0520/diytomcat8
push 过程中出现报错,原因:本地镜像名无账号信息,解决加tga即可。
[root@localhost ~]# docker tag d0da6bd0be09 itcloudblog0520/diytomcat8:1.0
[root@localhost ~]# 
[root@localhost ~]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED          SIZE
itcloudblog0520/diytomcat8   1.0       d0da6bd0be09   26 minutes ago   827MB
重新push就OK
[root@localhost ~]# docker push itcloudblog0520/diytomcat8:1.0
The push refers to repository [docker.io/itcloudblog0520/diytomcat8]
5f70bf18a086: Pushed 
4f045f1083bd: Pushed 
196f5993df7f: Pushed 
8287fcf5452f: Pushed 
8484fe0a9e6d: Pushed 
174f56854903: Mounted from library/centos 
1.0: digest: sha256:aca5a468447d972c6b01c5c8eee22ecf6d0be2c226a16946be2764c6e0ad77b8 size: 1578
[root@localhost ~]# 






最后修改:2023 年 07 月 30 日
如果觉得我的文章对你有用,请随意赞赏