Docker制作tomcat镜像,发布镜像

1、准备镜像文件 tomcat压缩包,jdk的压缩包!

2、编写dockerfile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要 -f 指定了!

FROM centos
MAINTAINER ysl<493487822@qq.com>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u251-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.35-src.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_251
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.35
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.35
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/bin

EXPOSE 8080

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

​ 3、构建镜像

[root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker build -t diytomcat .
Sending build context to Docker daemon    201MB
Step 1/15 : FROM centos
 ---> 470671670cac
Step 2/15 : MAINTAINER ysl<493487822@qq.com>
 ---> Using cache
 ---> fd5e9920907d
Step 3/15 : COPY readme.txt /usr/local/readme.txt
 ---> c27c87c9a7b8
Step 4/15 : ADD jdk-8u251-linux-x64.tar.gz /usr/local/
 ---> 195d5de3367b
Step 5/15 : ADD apache-tomcat-9.0.35-src.tar.gz /usr/local/
 ---> a5d8a5369b1b
Step 6/15 : RUN yum -y install vim
 ---> Running in dabc304efd48
CentOS-8 - AppStream                            857 kB/s | 7.0 MB     00:08    
CentOS-8 - Base                                 701 kB/s | 2.2 MB     00:03    
CentOS-8 - Extras                               2.6 kB/s | 5.9 kB     00:02    
Dependencies resolved.
================================================================================
 Package             Arch        Version                   Repository      Size
================================================================================
Installing:
 vim-enhanced        x86_64      2:8.0.1763-13.el8         AppStream      1.4 M
Installing dependencies:
 gpm-libs            x86_64      1.20.7-15.el8             AppStream       39 k
 vim-common          x86_64      2:8.0.1763-13.el8         AppStream      6.3 M
 vim-filesystem      noarch      2:8.0.1763-13.el8         AppStream       48 k
 which               x86_64      2.21-10.el8               BaseOS          49 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 7.8 M
Installed size: 31 M
Downloading Packages:
(1/5): gpm-libs-1.20.7-15.el8.x86_64.rpm        281 kB/s |  39 kB     00:00    
(2/5): vim-filesystem-8.0.1763-13.el8.noarch.rp 454 kB/s |  48 kB     00:00    
(3/5): which-2.21-10.el8.x86_64.rpm             374 kB/s |  49 kB     00:00    
(4/5): vim-enhanced-8.0.1763-13.el8.x86_64.rpm  829 kB/s | 1.4 MB     00:01    
(5/5): vim-common-8.0.1763-13.el8.x86_64.rpm    834 kB/s | 6.3 MB     00:07    
--------------------------------------------------------------------------------
Total                                           904 kB/s | 7.8 MB     00:08     
warning: /var/cache/dnf/AppStream-02e86d1c976ab532/packages/gpm-libs-1.20.7-15.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - AppStream                            1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
 Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
 Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : which-2.21-10.el8.x86_64                               1/5 
  Installing       : vim-filesystem-2:8.0.1763-13.el8.noarch                2/5 
  Installing       : vim-common-2:8.0.1763-13.el8.x86_64                    3/5 
  Installing       : gpm-libs-1.20.7-15.el8.x86_64                          4/5 
  Running scriptlet: gpm-libs-1.20.7-15.el8.x86_64                          4/5 
  Installing       : vim-enhanced-2:8.0.1763-13.el8.x86_64                  5/5 
  Running scriptlet: vim-enhanced-2:8.0.1763-13.el8.x86_64                  5/5 
  Running scriptlet: vim-common-2:8.0.1763-13.el8.x86_64                    5/5 
  Verifying        : gpm-libs-1.20.7-15.el8.x86_64                          1/5 
  Verifying        : vim-common-2:8.0.1763-13.el8.x86_64                    2/5 
  Verifying        : vim-enhanced-2:8.0.1763-13.el8.x86_64                  3/5 
  Verifying        : vim-filesystem-2:8.0.1763-13.el8.noarch                4/5 
  Verifying        : which-2.21-10.el8.x86_64                               5/5 

Installed:
  vim-enhanced-2:8.0.1763-13.el8.x86_64 gpm-libs-1.20.7-15.el8.x86_64          
  vim-common-2:8.0.1763-13.el8.x86_64   vim-filesystem-2:8.0.1763-13.el8.noarch
  which-2.21-10.el8.x86_64             

Complete!
Removing intermediate container dabc304efd48
 ---> a23f2b7b0dfd
Step 7/15 : ENV MYPATH /usr/local
 ---> Running in c6815f1ae0c6
Removing intermediate container c6815f1ae0c6
 ---> 4898e33f137d
Step 8/15 : WORKDIR $MYPATH
 ---> Running in f41807a4dcd7
Removing intermediate container f41807a4dcd7
 ---> 0e0faec6f3b0
Step 9/15 : ENV JAVA_HOME /usr/local/jdk1.8.0_251
 ---> Running in 99ef8c19aec6
Removing intermediate container 99ef8c19aec6
 ---> fafd91a43951
Step 10/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 ---> Running in fd23d9d09d63
Removing intermediate container fd23d9d09d63
 ---> 7075d497243c
Step 11/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.35
 ---> Running in 503f5c54948f
Removing intermediate container 503f5c54948f
 ---> ba6ad879d8c1
Step 12/15 : ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.35
 ---> Running in 106fb94d57a1
Removing intermediate container 106fb94d57a1
 ---> 250479e1722e
Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/bin
 ---> Running in 3b201dfb577d
Removing intermediate container 3b201dfb577d
 ---> 7a78f8c1cd8f
Step 14/15 : EXPOSE 8080
 ---> Running in eab87c07a71d
Removing intermediate container eab87c07a71d
 ---> ce615e112316
Step 15/15 : CMD /usr/local/apache-tomcat-9.0.35/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.35/bin/logs/catalina.out
 ---> Running in 65517b76ae78
Removing intermediate container 65517b76ae78
 ---> 60e8cd8eda16
Successfully built 60e8cd8eda16
Successfully tagged diytomcat:latest
[root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
diytomcat           latest              60e8cd8eda16        13 minutes ago      733MB
entrypoint-test     latest              cd452c66c026        4 hours ago         237MB
cmdtest             latest              380b0c95615c        4 hours ago         237MB
mycentos            0.1                 a68a7a44878e        5 hours ago         321MB
ysl/centos          1.0                 bf97aef123f3        28 hours ago        237MB
mysql               5.7                 a4fdfd462add        5 days ago          448MB
nginx               latest              9beeba249f3e        10 days ago         127MB
centos              latest              470671670cac        4 months ago        237MB

启动并进入

[root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker run -dit -p 9000:8080 --name ysltomcat -v /home/ysl/test:/usr/local/apache-tomcat-9.0.35/webapps/test -v /home/ysl/tomcatlogs/:/usr/local/apache-tomcat-9.0.35/logs diytomcat /bin/bash
[root@d5a15c7850ad local]# ls
apache-tomcat-9.0.35-src  etc	 include       lib    libexec	  sbin	 src
bin			  games  jdk1.8.0_251  lib64  readme.txt  share

挂载的目录

访问

[root@iz2zeaet7s13lfkc8r3e2kz ysl]# cd test
[root@iz2zeaet7s13lfkc8r3e2kz test]# mkdir WEB-INF
[root@iz2zeaet7s13lfkc8r3e2kz test]# ls
WEB-INF
[root@iz2zeaet7s13lfkc8r3e2kz test]# cd WEB-INF/
[root@iz2zeaet7s13lfkc8r3e2kz WEB-INF]# vim web.xml
[root@iz2zeaet7s13lfkc8r3e2kz WEB-INF]# cd ..
[root@iz2zeaet7s13lfkc8r3e2kz test]# vim index.jsp
[root@iz2zeaet7s13lfkc8r3e2kz test]# cat index.jsp 
lge language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>yslTest</title>
</head>
<body>
Hello World!<br/>
</body>
</html>

发布镜像

发布到DockerHub

登录DockerHub

[root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker login --help

Usage:	docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
  -p, --password string   Password
      --password-stdin    Take the password from stdin
  -u, --username string   Username

# 登录
[root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker login -u ysltop
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@iz2zeaet7s13lfkc8r3e2kz ysl]# docker push ysltop/diytomcat
The push refers to repository [docker.io/ysltop/diytomcat]
An image does not exist locally with the tag: ysltop/diytomcat

# 解决,加一个tag
[root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker tag cd452c66c026 ysltop/tomcat:1.0


再发布

发布到阿里云

登录阿里云

创建命名空间

创建镜像仓库

查看仓库信息

根据阿里云提供的操作

登录

发布

https://space.bilibili.com/95256449/dynamic

posted @ 2020-05-29 09:35  24/7·  阅读(780)  评论(0编辑  收藏  举报