Dockerfile

Dockerfile

Dockerfile介绍

dockerfile 是用来构建docker镜像的文件!命令参数脚本!

构建步骤:

  1. 编写一个dockerfile文件
  2. docker build 构建一个镜像
  3. docker run 运行镜像
  4. docker push 发布镜像 (DockerHub,aliyun镜像仓库)

查看一下官方是怎么做的在这里插入图片描述
在这里插入图片描述
很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!

官方既然可以制作镜像,那我们也可以!

DockerFile构建过程

基础知识:

  1. 每个保留关键字(指令)都是大写字母
  2. 执行从上到下顺序执行
  3. #表示注释
  4. 每一个指令都会创建一个新的镜像曾,并提交!在这里插入图片描述
    DockerFile是面向开发的,我们以后要发布项目与,做镜像,就需要编写DockerFile文件。这个文件十分简单

Docker镜像逐渐成为了企业交付的标准,必须要掌握!

步骤:开发,部署,运维。。缺一不可

DockerFile:构建文件,定义了一切的步骤,源代码

DockerIamges:通过Dockerfile构建生成的镜像,最终发布和运行的产品

Docker 容器:容器就是镜像运行起来提供服务器

DockerFile指令:

FROM        #基础镜像(可以centos,ubuntu),就是一切从这里开始构建 centos
MAINTAINER  # 镜像是谁写的,姓名+邮箱
RUN         # 镜像构建的时候需要运行的命令
ADD         # 步骤,tomcat容器,这个tomcat的压缩包就是添加内容
WORKDIR     # 镜像的工作目录
VOLUME      # 挂载的目录
EXPOSE      # 指定暴露端口配置 跟-p是一个道理
CMD         # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT  # 指定这个容器启动的时候要运行的命令
ONBUILD     # 当构建一个被继承 DockerFile ,这个时候就会运行ONBUILD 的指令。触发指令
COPY        #类似ADD,将我们的文件拷贝到镜像中
ENV         #构建的时候设置环境变量

在这里插入图片描述

实战测试

Docker Hub 中99%的镜像都是从这个基础镜像FROM scratch ,然后配置需要的软件和配置来进行的构建

创建一个自己的centos

# 1 编写DockerFile的文件

FROM centos
MAINTAINER ukatta<1433283683@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 28910
CMD echo $MYPATH
CMD echo "----end----"
CMD /bin/bash


# 2 通过这个文件构建镜像
# 命令 docker build -f dockerfile文件路径 -t 镜像名:[tag] .

[root@localhost docker]# docker build -f mydockerfile  -t mycentos:0.1 .
Sending build context to Docker daemon  2.048kB
Step 1/10 : FROM centos
 ---> 831691599b88
Step 2/10 : MAINTAINER ukatta<1433283683@qq.com>
 ---> Running in c434e7f3e5c3
Removing intermediate container c434e7f3e5c3
 ---> f585198b7c8b
Step 3/10 : ENV PYPATH /usr/local
 ---> Running in 43d6bcac6b0a
Removing intermediate container 43d6bcac6b0a
 ---> 9fcbc71b4700
Step 4/10 : WORKDIR $MYPATH
cannot normalize nothing
[root@localhost docker]# vim mydockerfile
[root@localhost docker]# docker build -f mydockerfile  -t mycentos:0.1 .
Sending build context to Docker daemon  2.048kB
Step 1/10 : FROM centos
 ---> 831691599b88
Step 2/10 : MAINTAINER ukatta<1433283683@qq.com>
 ---> Using cache
 ---> f585198b7c8b
Step 3/10 : ENV MYPATH /usr/local
 ---> Running in 1f7fd208bc1c
Removing intermediate container 1f7fd208bc1c
 ---> 0d80a175b76d
Step 4/10 : WORKDIR $MYPATH
 ---> Running in ebdcb0ae879b
Removing intermediate container ebdcb0ae879b
 ---> b9138acdfdce
Step 5/10 : RUN yum -y install vim
 ---> Running in 1d242c8f34e8
CentOS-8 - AppStream                            4.1 MB/s | 5.8 MB     00:01    
CentOS-8 - Base                                 582 kB/s | 2.2 MB     00:03    
CentOS-8 - Extras                               5.8 kB/s | 7.0 kB     00:01    
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-12.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        354 kB/s |  39 kB     00:00    
(2/5): vim-filesystem-8.0.1763-13.el8.noarch.rp 292 kB/s |  48 kB     00:00    
(3/5): which-2.21-12.el8.x86_64.rpm             170 kB/s |  49 kB     00:00    
(4/5): vim-enhanced-8.0.1763-13.el8.x86_64.rpm  1.9 MB/s | 1.4 MB     00:00    
(5/5): vim-common-8.0.1763-13.el8.x86_64.rpm    7.0 MB/s | 6.3 MB     00:00    
--------------------------------------------------------------------------------
Total                                           2.7 MB/s | 7.8 MB     00:02     
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                             96 kB/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-12.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-12.el8.x86_64                               5/5 

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

Complete!
Removing intermediate container 1d242c8f34e8
 ---> 82fe249a512c
Step 6/10 : RUN yum -y install net-tools
 ---> Running in 63d10cd2efc1
Last metadata expiration check: 0:00:15 ago on Sun Aug 16 10:16:25 2020.
Dependencies resolved.
================================================================================
 Package         Architecture Version                        Repository    Size
================================================================================
Installing:
 net-tools       x86_64       2.0-0.51.20160912git.el8       BaseOS       323 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 323 k
Installed size: 1.0 M
Downloading Packages:
net-tools-2.0-0.51.20160912git.el8.x86_64.rpm   2.1 MB/s | 323 kB     00:00    
--------------------------------------------------------------------------------
Total                                           496 kB/s | 323 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : net-tools-2.0-0.51.20160912git.el8.x86_64              1/1 
  Running scriptlet: net-tools-2.0-0.51.20160912git.el8.x86_64              1/1 
  Verifying        : net-tools-2.0-0.51.20160912git.el8.x86_64              1/1 

Installed:
  net-tools-2.0-0.51.20160912git.el8.x86_64                                     

Complete!
Removing intermediate container 63d10cd2efc1
 ---> 7116d0228288
Step 7/10 : EXPOSE 28910
 ---> Running in 1b952d76c9bc
Removing intermediate container 1b952d76c9bc
 ---> 50d0d2546e47
Step 8/10 : CMD echo $MYPATH
 ---> Running in 3bafca27789f
Removing intermediate container 3bafca27789f
 ---> ba41995fcdb6
Step 9/10 : CMD echo "----end----"
 ---> Running in fa961c393b03
Removing intermediate container fa961c393b03
 ---> a82fabe8bd6e
Step 10/10 : CMD /bin/bash
 ---> Running in e2b92fc8433a
Removing intermediate container e2b92fc8433a
 ---> c23db3495b90
Successfully built c23db3495b90
Successfully tagged mycentos:0.1
[root@localhost docker]# 

# 3 测试运行,与原生镜像对比

[root@localhost ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
ukatta/centos         1.0                 6c99fe6208a7        42 hours ago        215MB
tomcat01              1.0                 adc67a391630        3 days ago          652MB
tomcat                9.0                 2ae23eb477aa        10 days ago         647MB
tomcat                latest              2ae23eb477aa        10 days ago         647MB
redis                 latest              1319b1eaa0b7        11 days ago         104MB
nginx                 latest              08393e824c32        11 days ago         132MB
mysql                 5.7                 718a6da099d8        11 days ago         448MB
portainer/portainer   latest              62771b0b9b09        3 weeks ago         79.1MB
centos                latest              831691599b88        2 months ago        215MB
elasticsearch         7.6.2               f29a1ee41030        4 months ago        791MB
[root@localhost ~]# docker run -it 831691599b88
[root@56d17012e0a2 /]# pwd
/
[root@56d17012e0a2 /]# vim
bash: vim: command not found
[root@56d17012e0a2 /]# ifconfig
bash: ifconfig: command not found
[root@56d17012e0a2 /]# docker images
bash: docker: command not found
[root@56d17012e0a2 /]# [root@localhost ~]# 
[root@localhost ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
mycentos              0.1                 c23db3495b90        2 minutes ago       295MB
<none>                <none>              9fcbc71b4700        5 minutes ago       215MB
ukatta/centos         1.0                 6c99fe6208a7        43 hours ago        215MB
tomcat01              1.0                 adc67a391630        3 days ago          652MB
tomcat                9.0                 2ae23eb477aa        10 days ago         647MB
tomcat                latest              2ae23eb477aa        10 days ago         647MB
redis                 latest              1319b1eaa0b7        11 days ago         104MB
nginx                 latest              08393e824c32        11 days ago         132MB
mysql                 5.7                 718a6da099d8        11 days ago         448MB
portainer/portainer   latest              62771b0b9b09        3 weeks ago         79.1MB
centos                latest              831691599b88        2 months ago        215MB
elasticsearch         7.6.2               f29a1ee41030        4 months ago        791MB
[root@localhost ~]#  docker rmi 9fcbc71b4700
Deleted: sha256:9fcbc71b47000ae74ed72fe171e4f7fd18bbf1ebaec07071588ba111d59396b4
[root@localhost ~]# docker run -it mycentos:0.1
[root@086fe4eb4967 local]# pwd
/usr/local
[root@086fe4eb4967 local]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.9  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:09  txqueuelen 0  (Ethernet)
        RX packets 8  bytes 648 (648.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@086fe4eb4967 local]# vim test
[root@086fe4eb4967 local]# 

# 原生工作目录默认 / 根目录
# 自己的镜像  /usr/local

我们可以列出 本地 docker image 的变更历史
在这里插入图片描述
我们平时拿到一个镜像,可以研究一下它是怎么做的

CMD 和 ENTRYPOINT 的区别

CMD         # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT  # 指定这个容器启动的时候要运行的命令

测试 CMD

# 编写 dockerfile 文件
[root@localhost docker]# vim docker-cmd-test
FROM centos
CMD ["ls", "-a"]

# 构建镜像
[root@localhost docker]# docker build -f docker-cmd-test  -t cmdtest .
Sending build context to Docker daemon  3.072kB
Step 1/2 : FROM centos
 ---> 831691599b88
Step 2/2 : CMD ["ls","-a"]
 ---> Running in dccdd7f40a7b
Removing intermediate container dccdd7f40a7b
 ---> de7499e3126c
Successfully built de7499e3126c
Successfully tagged cmdtest:latest

# run 运行 发现为我们的ls -a 命令生效
[root@localhost docker]# docker run cmdtest
.
..
.dockerenv
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
[root@localhost docker]# 
# 想追加一个命令 -l  ls -al
[root@localhost docker]# docker run cmdtest -l
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"-l\": executable file not found in $PATH": unknown.
ERRO[0000] error waiting for container: context canceled 

# cmd的情况下 -l 替换了 CMD ["ls","-a"]命令,-l 不是命令,所以报错 除非写全命令

[root@localhost docker]# docker run cmdtest ls -a -l
total 0
drwxr-xr-x.   1 root root   6 Aug 16 11:03 .
drwxr-xr-x.   1 root root   6 Aug 16 11:03 ..
-rwxr-xr-x.   1 root root   0 Aug 16 11:03 .dockerenv
lrwxrwxrwx.   1 root root   7 May 11  2019 bin -> usr/bin
drwxr-xr-x.   5 root root 340 Aug 16 11:03 dev
drwxr-xr-x.   1 root root  66 Aug 16 11:03 etc
drwxr-xr-x.   2 root root   6 May 11  2019 home
lrwxrwxrwx.   1 root root   7 May 11  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root   9 May 11  2019 lib64 -> usr/lib64
drwx------.   2 root root   6 Jun 11 02:35 lost+found
drwxr-xr-x.   2 root root   6 May 11  2019 media
drwxr-xr-x.   2 root root   6 May 11  2019 mnt
drwxr-xr-x.   2 root root   6 May 11  2019 opt
dr-xr-xr-x. 149 root root   0 Aug 16 11:03 proc
dr-xr-x---.   2 root root 162 Jun 11 02:35 root
drwxr-xr-x.  11 root root 163 Jun 11 02:35 run
lrwxrwxrwx.   1 root root   8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x.   2 root root   6 May 11  2019 srv
dr-xr-xr-x.  13 root root   0 Aug 11 14:33 sys
drwxrwxrwt.   7 root root 145 Jun 11 02:35 tmp
drwxr-xr-x.  12 root root 144 Jun 11 02:35 usr
drwxr-xr-x.  20 root root 262 Jun 11 02:35 var
[root@localhost docker]# 





测试ENTRYPOINT

[root@localhost docker]# vim dockerfile-cmd-entrypoint
[root@localhost docker]# docker build -f dockerfile-cmd-entrypoint  -t entrypoint .
Sending build context to Docker daemon  4.096kB
Step 1/2 : FROM centos
 ---> 831691599b88
Step 2/2 : ENTRYPOINT ["ls","-a"]
 ---> Running in 12613adf3241
Removing intermediate container 12613adf3241
 ---> 5c6d37dcb43d
Successfully built 5c6d37dcb43d
Successfully tagged entrypoint:latest
[root@localhost docker]# docker run entrypoint
.
..
.dockerenv
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
# 我们的追加命令是直接拼接在ENTRYPOINT命令后面
[root@localhost docker]# docker run entrypoint -l
total 0
drwxr-xr-x.   1 root root   6 Aug 16 11:07 .
drwxr-xr-x.   1 root root   6 Aug 16 11:07 ..
-rwxr-xr-x.   1 root root   0 Aug 16 11:07 .dockerenv
lrwxrwxrwx.   1 root root   7 May 11  2019 bin -> usr/bin
drwxr-xr-x.   5 root root 340 Aug 16 11:07 dev
drwxr-xr-x.   1 root root  66 Aug 16 11:07 etc
drwxr-xr-x.   2 root root   6 May 11  2019 home
lrwxrwxrwx.   1 root root   7 May 11  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root   9 May 11  2019 lib64 -> usr/lib64
drwx------.   2 root root   6 Jun 11 02:35 lost+found
drwxr-xr-x.   2 root root   6 May 11  2019 media
drwxr-xr-x.   2 root root   6 May 11  2019 mnt
drwxr-xr-x.   2 root root   6 May 11  2019 opt
dr-xr-xr-x. 150 root root   0 Aug 16 11:07 proc
dr-xr-x---.   2 root root 162 Jun 11 02:35 root
drwxr-xr-x.  11 root root 163 Jun 11 02:35 run
lrwxrwxrwx.   1 root root   8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x.   2 root root   6 May 11  2019 srv
dr-xr-xr-x.  13 root root   0 Aug 11 14:33 sys
drwxrwxrwt.   7 root root 145 Jun 11 02:35 tmp
drwxr-xr-x.  12 root root 144 Jun 11 02:35 usr
drwxr-xr-x.  20 root root 262 Jun 11 02:35 var
[root@localhost docker]# 

DockerFile 中很多命令都十分你想死,我们需要了解它们的区别,我们最好的学习就是对比他们然后测试结果

实战测试:tomcat镜像

  1. 准备镜像文件 tomcat 压缩包,jdk 压缩包

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

    [root@localhost docker]# cd /home
    [root@localhost home]# ls
    ceshi  docker  docker-test-volume  jjl  mysql  test.java  ukatta.java
    [root@localhost home]# mkdir ukatta/build/tomcat
    mkdir: cannot create directory ‘ukatta/build/tomcat’: No such file or directory
    [root@localhost home]# mkdir ukatta
    [root@localhost home]# cd ukatta
    [root@localhost ukatta]# mkdir build
    [root@localhost ukatta]# cd build
    [root@localhost build]# mkdir tomcat
    [root@localhost build]# cd tomcat
    # 创建readme.txt 名上传tomcat和jdk压缩包,会自动解压
    [root@localhost tomcat]# touch read.txt
    [root@localhost tomcat]# ll
    total 150712
    -rw-r--r--. 1 root root  11211292 Aug 16 19:19 apache-tomcat-9.0.37.tar.gz
    -rw-r--r--. 1 root root 143111803 Aug 16 19:20 jdk-8u261-linux-x64.tar.gz
    -rw-r--r--. 1 root root         0 Aug 16 19:34 read.txt
    [root@localhost tomcat]# 
    
    
    
    FROM centos
    MAINTAINER ukatta<1433283683@qq.com>
    
    COPY readme.txt /usr/local/readme.txt
    ADD jdk-8u261-linux-x64.tar.gz /usr/local/
    ADD apache-tomcat-9.0.37.tar.gz /usr/local
    RUN yum -y install vim
    ENV MYPATH /usr/local/
    WORKDIR $MYPATH
    
    ENV JAVA_HOME /usr/local/jdk1.8.0_261
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.37
    ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.37
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    
    EXPOSE 8080
    
    CMD /usr/local/apache-tomcat-9.0.37/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.37/bin/logs/catalina.out              
    
  3. 构建镜像

    docker build -t diytomcat .
    
    [root@localhost tomcat]# docker build -t diytomcat .
    Sending build context to Docker daemon  523.7MB
    Step 1/15 : FROM centos
     ---> 831691599b88
    Step 2/15 : MAINTAINER ukatta<1433283683@qq.com>
     ---> Using cache
     ---> f585198b7c8b
    Step 3/15 : COPY readme.txt /usr/local/readme.txt
     ---> a7dee4880b96
    Step 4/15 : ADD jdk-8u261-linux-x64.tar.gz /usr/local/
     ---> de271c480c22
    Step 5/15 : ADD apache-tomcat-9.0.37.tar.gz /usr/local/
     ---> e4a612774a88
    Step 6/15 : RUN yum -y install vim
     ---> Running in 0a07c5814383
    CentOS-8 - AppStream                            2.7 MB/s | 5.8 MB     00:02    
    CentOS-8 - Base                                 1.2 MB/s | 2.2 MB     00:01    
    CentOS-8 - Extras                               4.5 kB/s | 7.0 kB     00:01    
    Last metadata expiration check: 0:00:01 ago on Sun Aug 16 13:03:35 2020.
    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-12.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        386 kB/s |  39 kB     00:00    
    (2/5): vim-filesystem-8.0.1763-13.el8.noarch.rp 1.5 MB/s |  48 kB     00:00    
    (3/5): which-2.21-12.el8.x86_64.rpm             309 kB/s |  49 kB     00:00    
    (4/5): vim-enhanced-8.0.1763-13.el8.x86_64.rpm  3.9 MB/s | 1.4 MB     00:00    
    (5/5): vim-common-8.0.1763-13.el8.x86_64.rpm    6.7 MB/s | 6.3 MB     00:00    
    --------------------------------------------------------------------------------
    Total                                           3.7 MB/s | 7.8 MB     00:02     
    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-12.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-12.el8.x86_64                               5/5 
    
    Installed:
      gpm-libs-1.20.7-15.el8.x86_64         vim-common-2:8.0.1763-13.el8.x86_64    
      vim-enhanced-2:8.0.1763-13.el8.x86_64 vim-filesystem-2:8.0.1763-13.el8.noarch
      which-2.21-12.el8.x86_64             
    
    Complete!
    Removing intermediate container 0a07c5814383
     ---> 68aa64a48a9b
    Step 7/15 : ENV MYPATH /usr/local
     ---> Running in 8d3c6d57850a
    Removing intermediate container 8d3c6d57850a
     ---> a0a3db33438e
    Step 8/15 : WORKDIR $MYPATH
     ---> Running in 1ca952843c06
    Removing intermediate container 1ca952843c06
     ---> 71dafe1bc38b
    Step 9/15 : ENV JAVA_HOME /usr/local/jdk1.8.0_261
     ---> Running in 0a906a48e80c
    Removing intermediate container 0a906a48e80c
     ---> 0f028862261d
    Step 10/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
     ---> Running in 5d4408635afd
    Removing intermediate container 5d4408635afd
     ---> 926ec55b043c
    Step 11/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.37
     ---> Running in e094f84b0a14
    Removing intermediate container e094f84b0a14
     ---> ca8da4f37540
    Step 12/15 : ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.37
     ---> Running in 270a9035771c
    Removing intermediate container 270a9035771c
     ---> af70af6d1a73
    Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
     ---> Running in ecb2782e4615
    Removing intermediate container ecb2782e4615
     ---> de8c29012b32
    Step 14/15 : EXPOSE 8080
     ---> Running in 99269f7fd861
    Removing intermediate container 99269f7fd861
     ---> 883f4888dad8
    Step 15/15 : CMD /usr/local/apache-tomcat-9.0.37/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.37/bin/logs/catalina.out
     ---> Running in c3bd4825d4b4
    Removing intermediate container c3bd4825d4b4
     ---> ee64a327e7d4
    Successfully built ee64a327e7d4
    Successfully tagged diytomcat:latest
    
    
  4. 启动镜像

    [root@localhost tomcat]# docker run -d -p 28921:8080 --name ukattatomcat -v /home/ukatta/build/tomcat/test:/usr/local/apache-tomcat-9.0.37/webapps/test -v /home/ukatta/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.37/logs diytomcat
    82b70792414e35a6b4aa069c002c0395d6d9cee808e45adb29322069a5e21888
    [root@localhost tomcat]# docker ps
    CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
    82b70792414e        diytomcat             "/bin/sh -c '/usr/lo…"   3 seconds ago       Up 2 seconds        0.0.0.0:28921->8080/tcp                            ukattatomcat
    086fe4eb4967        mycentos:0.1          "/bin/sh -c /bin/bash"   3 hours ago         Up 3 hours          28910/tcp                                          angry_nobel
    56d17012e0a2        831691599b88          "/bin/bash"              3 hours ago         Up 3 hours                                                             suspicious_torvalds
    7d5242c8d4d5        mysql:5.7             "docker-entrypoint.s…"   44 hours ago        Up 44 hours         33060/tcp, 0.0.0.0:28907->3306/tcp                 mysql01
    aae60f7cb025        nginx                 "/docker-entrypoint.…"   2 days ago          Up 2 days           0.0.0.0:28902->80/tcp                              nginx03
    701862cfcd22        nginx                 "/docker-entrypoint.…"   2 days ago          Up 2 days           0.0.0.0:28901->80/tcp                              nginx02
    b3778c0d7d25        mysql:5.7             "docker-entrypoint.s…"   2 days ago          Up 2 days           33060/tcp, 0.0.0.0:28906->3306/tcp                 mysql
    ff20c119f6d2        portainer/portainer   "/portainer"             4 days ago          Up 4 days           0.0.0.0:28905->9000/tcp                            beautiful_shannon
    ffa8ab843dfb        elasticsearch:7.6.2   "/usr/local/bin/dock…"   5 days ago          Up 2 days           0.0.0.0:28903->9200/tcp, 0.0.0.0:28904->9300/tcp   elasticsearch02
    
    
    [root@localhost tomcat]# docker exec -it ukattatomcat /bin/bash
    [root@82b70792414e local]# ll
    bash: ll: command not found
    [root@82b70792414e local]# ls -l
    total 0
    drwxr-xr-x. 1 root  root   45 Aug 16 13:03 apache-tomcat-9.0.37
    drwxr-xr-x. 2 root  root    6 May 11  2019 bin
    drwxr-xr-x. 2 root  root    6 May 11  2019 etc
    drwxr-xr-x. 2 root  root    6 May 11  2019 games
    drwxr-xr-x. 2 root  root    6 May 11  2019 include
    drwxr-xr-x. 8 10143 10143 273 Jun 18 06:59 jdk1.8.0_261
    drwxr-xr-x. 2 root  root    6 May 11  2019 lib
    drwxr-xr-x. 2 root  root    6 May 11  2019 lib64
    drwxr-xr-x. 2 root  root    6 May 11  2019 libexec
    -rw-r--r--. 1 root  root    0 Aug 16 11:52 readme.txt
    drwxr-xr-x. 2 root  root    6 May 11  2019 sbin
    drwxr-xr-x. 5 root  root   49 Jun 11 02:35 share
    drwxr-xr-x. 2 root  root    6 May 11  2019 src
    [root@82b70792414e local]# cd apache-tomcat-9.0.37/
    [root@82b70792414e apache-tomcat-9.0.37]# ls -l
    total 124
    -rw-r-----. 1 root root 18982 Jun 30 20:14 BUILDING.txt
    -rw-r-----. 1 root root  5409 Jun 30 20:14 CONTRIBUTING.md
    -rw-r-----. 1 root root 57092 Jun 30 20:14 LICENSE
    -rw-r-----. 1 root root  2333 Jun 30 20:14 NOTICE
    -rw-r-----. 1 root root  3255 Jun 30 20:14 README.md
    -rw-r-----. 1 root root  6898 Jun 30 20:14 RELEASE-NOTES
    -rw-r-----. 1 root root 16262 Jun 30 20:14 RUNNING.txt
    drwxr-x---. 2 root root  4096 Jun 30 20:14 bin
    drwx------. 1 root root    22 Aug 16 13:04 conf
    drwxr-x---. 2 root root  4096 Jun 30 20:11 lib
    drwxr-xr-x. 2 root root   197 Aug 16 13:04 logs
    drwxr-x---. 2 root root    30 Jun 30 20:12 temp
    drwxr-x---. 1 root root    18 Aug 16 13:04 webapps
    drwxr-x---. 1 root root    22 Aug 16 13:04 work
    [root@82b70792414e apache-tomcat-9.0.37]# 
    
    
  5. 访问测试

    [root@localhost tomcat]# curl localhost:28921
    
    
    
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8" />
            <title>Apache Tomcat/9.0.37</title>
            <link href="favicon.ico" rel="icon" type="image/x-icon" />
            <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
            <link href="tomcat.css" rel="stylesheet" type="text/css" />
        </head>
    
        <body>
            <div id="wrapper">
                <div id="navigation" class="curved container">
                    <span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>
                    <span id="nav-hosts"><a href="/docs/">Documentation</a></span>
                    <span id="nav-config"><a href="/docs/config/">Configuration</a></span>
                    <span id="nav-examples"><a href="/examples/">Examples</a></span>
                    <span id="nav-wiki"><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></span>
                    <span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span>
                    <span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span>
                    <br class="separator" />
                </div>
                <div id="asf-box">
                    <h1>Apache Tomcat/9.0.37</h1>
                </div>
                <div id="upper" class="curved container">
                    <div id="congrats" class="curved container">
                        <h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
                    </div>
                    <div id="notice">
                        <img src="tomcat.png" alt="[tomcat logo]" />
                        <div id="tasks">
                            <h3>Recommended Reading:</h3>
                            <h4><a href="/docs/security-howto.html">Security Considerations How-To</a></h4>
                            <h4><a href="/docs/manager-howto.html">Manager Application How-To</a></h4>
                            <h4><a href="/docs/cluster-howto.html">Clustering/Session Replication How-To</a></h4>
                        </div>
                    </div>
                    <div id="actions">
                        <div class="button">
                            <a class="container shadow" href="/manager/status"><span>Server Status</span></a>
                        </div>
                        <div class="button">
                            <a class="container shadow" href="/manager/html"><span>Manager App</span></a>
                        </div>
                        <div class="button">
                            <a class="container shadow" href="/host-manager/html"><span>Host Manager</span></a>
                        </div>
                    </div>
                    <br class="separator" />
                </div>
                <div id="middle" class="curved container">
                    <h3>Developer Quick Start</h3>
                    <div class="col25">
                        <div class="container">
                            <p><a href="/docs/setup.html">Tomcat Setup</a></p>
                            <p><a href="/docs/appdev/">First Web Application</a></p>
                        </div>
                    </div>
                    <div class="col25">
                        <div class="container">
                            <p><a href="/docs/realm-howto.html">Realms &amp; AAA</a></p>
                            <p><a href="/docs/jndi-datasource-examples-howto.html">JDBC DataSources</a></p>
                        </div>
                    </div>
                    <div class="col25">
                        <div class="container">
                            <p><a href="/examples/">Examples</a></p>
                        </div>
                    </div>
                    <div class="col25">
                        <div class="container">
                            <p><a href="https://wiki.apache.org/tomcat/Specifications">Servlet Specifications</a></p>
                            <p><a href="https://wiki.apache.org/tomcat/TomcatVersions">Tomcat Versions</a></p>
                        </div>
                    </div>
                    <br class="separator" />
                </div>
                <div id="lower">
                    <div id="low-manage" class="">
                        <div class="curved container">
                            <h3>Managing Tomcat</h3>
                            <p>For security, access to the <a href="/manager/html">manager webapp</a> is restricted.
                            Users are defined in:</p>
                            <pre>$CATALINA_HOME/conf/tomcat-users.xml</pre>
                            <p>In Tomcat 9.0 access to the manager application is split between
                               different users. &nbsp; <a href="/docs/manager-howto.html">Read more...</a></p>
                            <br />
                            <h4><a href="/docs/RELEASE-NOTES.txt">Release Notes</a></h4>
                            <h4><a href="/docs/changelog.html">Changelog</a></h4>
                            <h4><a href="https://tomcat.apache.org/migration.html">Migration Guide</a></h4>
                            <h4><a href="https://tomcat.apache.org/security.html">Security Notices</a></h4>
                        </div>
                    </div>
                    <div id="low-docs" class="">
                        <div class="curved container">
                            <h3>Documentation</h3>
                            <h4><a href="/docs/">Tomcat 9.0 Documentation</a></h4>
                            <h4><a href="/docs/config/">Tomcat 9.0 Configuration</a></h4>
                            <h4><a href="https://wiki.apache.org/tomcat/FrontPage">Tomcat Wiki</a></h4>
                            <p>Find additional important configuration information in:</p>
                            <pre>$CATALINA_HOME/RUNNING.txt</pre>
                            <p>Developers may be interested in:</p>
                            <ul>
                                <li><a href="https://tomcat.apache.org/bugreport.html">Tomcat 9.0 Bug Database</a></li>
                                <li><a href="/docs/api/index.html">Tomcat 9.0 JavaDocs</a></li>
                                <li><a href="https://github.com/apache/tomcat/tree/master">Tomcat 9.0 Git Repository at GitHub</a></li>
                            </ul>
                        </div>
                    </div>
                    <div id="low-help" class="">
                        <div class="curved container">
                            <h3>Getting Help</h3>
                            <h4><a href="https://tomcat.apache.org/faq/">FAQ</a> and <a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></h4>
                            <p>The following mailing lists are available:</p>
                            <ul>
                                <li id="list-announce"><strong><a href="https://tomcat.apache.org/lists.html#tomcat-announce">tomcat-announce</a><br />
                                    Important announcements, releases, security vulnerability notifications. (Low volume).</strong>
                                </li>
                                <li><a href="https://tomcat.apache.org/lists.html#tomcat-users">tomcat-users</a><br />
                                    User support and discussion
                                </li>
                                <li><a href="https://tomcat.apache.org/lists.html#taglibs-user">taglibs-user</a><br />
                                    User support and discussion for <a href="https://tomcat.apache.org/taglibs/">Apache Taglibs</a>
                                </li>
                                <li><a href="https://tomcat.apache.org/lists.html#tomcat-dev">tomcat-dev</a><br />
                                    Development mailing list, including commit messages
                                </li>
                            </ul>
                        </div>
                    </div>
                    <br class="separator" />
                </div>
                <div id="footer" class="curved container">
                    <div class="col20">
                        <div class="container">
                            <h4>Other Downloads</h4>
                            <ul>
                                <li><a href="https://tomcat.apache.org/download-connectors.cgi">Tomcat Connectors</a></li>
                                <li><a href="https://tomcat.apache.org/download-native.cgi">Tomcat Native</a></li>
                                <li><a href="https://tomcat.apache.org/taglibs/">Taglibs</a></li>
                                <li><a href="/docs/deployer-howto.html">Deployer</a></li>
                            </ul>
                        </div>
                    </div>
                    <div class="col20">
                        <div class="container">
                            <h4>Other Documentation</h4>
                            <ul>
                                <li><a href="https://tomcat.apache.org/connectors-doc/">Tomcat Connectors</a></li>
                                <li><a href="https://tomcat.apache.org/connectors-doc/">mod_jk Documentation</a></li>
                                <li><a href="https://tomcat.apache.org/native-doc/">Tomcat Native</a></li>
                                <li><a href="/docs/deployer-howto.html">Deployer</a></li>
                            </ul>
                        </div>
                    </div>
                    <div class="col20">
                        <div class="container">
                            <h4>Get Involved</h4>
                            <ul>
                                <li><a href="https://tomcat.apache.org/getinvolved.html">Overview</a></li>
                                <li><a href="https://tomcat.apache.org/source.html">Source Repositories</a></li>
                                <li><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></li>
                                <li><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></li>
                            </ul>
                        </div>
                    </div>
                    <div class="col20">
                        <div class="container">
                            <h4>Miscellaneous</h4>
                            <ul>
                                <li><a href="https://tomcat.apache.org/contact.html">Contact</a></li>
                                <li><a href="https://tomcat.apache.org/legal.html">Legal</a></li>
                                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                            </ul>
                        </div>
                    </div>
                    <div class="col20">
                        <div class="container">
                            <h4>Apache Software Foundation</h4>
                            <ul>
                                <li><a href="https://tomcat.apache.org/whoweare.html">Who We Are</a></li>
                                <li><a href="https://tomcat.apache.org/heritage.html">Heritage</a></li>
                                <li><a href="https://www.apache.org">Apache Home</a></li>
                                <li><a href="https://tomcat.apache.org/resources.html">Resources</a></li>
                            </ul>
                        </div>
                    </div>
                    <br class="separator" />
                </div>
                <p class="copyright">Copyright &copy;1999-2020 Apache Software Foundation.  All Rights Reserved</p>
            </div>
        </body>
    
    </html>
    [root@localhost tomcat]# 
    
    
  6. 发布项目,由于做了卷挂载,我们直接在本地编写项目就可以发布了

    <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                                   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
               version="2.5">
    
      </web-app>
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Hello Ukatta(ukatta.com)</title>
    </head>
    <body>
    Hello Ukatta!<br/>
    <%
    System.out.println("----my test we logs ----");
    %>
    </body>
    </html>
    
    [root@localhost tomcat]# ls
    apache-tomcat-9.0.37  apache-tomcat-9.0.37.tar.gz  Dockerfile  jdk1.8.0_261  jdk-8u261-linux-x64.tar.gz  readme.txt  read.txt  test  tomcatlogs
    [root@localhost tomcat]# cd tomcatlogs/
    [root@localhost tomcatlogs]# ll
    total 32
    -rw-r-----. 1 root root 8830 Aug 16 21:08 catalina.2020-08-16.log
    -rw-r-----. 1 root root 8855 Aug 16 21:28 catalina.out
    -rw-r-----. 1 root root    0 Aug 16 21:04 host-manager.2020-08-16.log
    -rw-r-----. 1 root root  408 Aug 16 21:04 localhost.2020-08-16.log
    -rw-r-----. 1 root root 1883 Aug 16 21:28 localhost_access_log.2020-08-16.txt
    -rw-r-----. 1 root root    0 Aug 16 21:04 manager.2020-08-16.log
    [root@localhost tomcatlogs]# cat catalina.out 
    16-Aug-2020 13:04:52.825 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.37
    16-Aug-2020 13:04:52.839 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 30 2020 20:09:49 UTC
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.37.0
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-693.el7.x86_64
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/jdk1.8.0_261/jre
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_261-b12
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.842 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.37/conf/logging.properties
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.847 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/apache-tomcat-9.0.37/temp
    16-Aug-2020 13:04:52.847 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    16-Aug-2020 13:04:53.661 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
    16-Aug-2020 13:04:53.773 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1364] milliseconds
    16-Aug-2020 13:04:53.832 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
    16-Aug-2020 13:04:53.832 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.37]
    16-Aug-2020 13:04:53.856 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/ROOT]
    16-Aug-2020 13:04:54.563 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/ROOT] has finished in [704] ms
    16-Aug-2020 13:04:54.564 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/docs]
    16-Aug-2020 13:04:54.635 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/docs] has finished in [71] ms
    16-Aug-2020 13:04:54.636 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/examples]
    16-Aug-2020 13:04:56.701 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/examples] has finished in [2,065] ms
    16-Aug-2020 13:04:56.702 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/host-manager]
    16-Aug-2020 13:04:56.757 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/host-manager] has finished in [55] ms
    16-Aug-2020 13:04:56.758 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/manager]
    16-Aug-2020 13:04:56.796 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/manager] has finished in [38] ms
    16-Aug-2020 13:04:56.797 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/test]
    16-Aug-2020 13:04:56.841 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/test] has finished in [44] ms
    16-Aug-2020 13:04:56.850 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
    16-Aug-2020 13:04:56.880 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [3106] milliseconds
    16-Aug-2020 13:08:09.052 INFO [http-nio-8080-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
     Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
    	java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030x01'0xfc0x970xdb0xaaO]. HTTP method names must be tokens
    		at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:418)
    		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)
    		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    		at java.lang.Thread.run(Thread.java:748)
    16-Aug-2020 13:08:09.051 INFO [http-nio-8080-exec-4] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
     Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
    	java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030x980x1b0xc70xec<;*O0x1fK0x820xd50x1c0xb30x0e20xef0xf40xf30x850xb80xc90xcb0x010xd60xcf0xaf[0xb60xc4J0xf0]. HTTP method names must be tokens
    		at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:418)
    		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)
    		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    		at java.lang.Thread.run(Thread.java:748)
    ----my test we logs ----
    [root@localhost tomcatlogs]# cat catalina.out 
    16-Aug-2020 13:04:52.825 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.37
    16-Aug-2020 13:04:52.839 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 30 2020 20:09:49 UTC
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.37.0
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-693.el7.x86_64
    16-Aug-2020 13:04:52.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/jdk1.8.0_261/jre
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_261-b12
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
    16-Aug-2020 13:04:52.841 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.842 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.37/conf/logging.properties
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
    16-Aug-2020 13:04:52.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/apache-tomcat-9.0.37
    16-Aug-2020 13:04:52.847 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/apache-tomcat-9.0.37/temp
    16-Aug-2020 13:04:52.847 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    16-Aug-2020 13:04:53.661 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
    16-Aug-2020 13:04:53.773 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1364] milliseconds
    16-Aug-2020 13:04:53.832 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
    16-Aug-2020 13:04:53.832 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.37]
    16-Aug-2020 13:04:53.856 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/ROOT]
    16-Aug-2020 13:04:54.563 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/ROOT] has finished in [704] ms
    16-Aug-2020 13:04:54.564 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/docs]
    16-Aug-2020 13:04:54.635 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/docs] has finished in [71] ms
    16-Aug-2020 13:04:54.636 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/examples]
    16-Aug-2020 13:04:56.701 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/examples] has finished in [2,065] ms
    16-Aug-2020 13:04:56.702 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/host-manager]
    16-Aug-2020 13:04:56.757 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/host-manager] has finished in [55] ms
    16-Aug-2020 13:04:56.758 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/manager]
    16-Aug-2020 13:04:56.796 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/manager] has finished in [38] ms
    16-Aug-2020 13:04:56.797 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.37/webapps/test]
    16-Aug-2020 13:04:56.841 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.37/webapps/test] has finished in [44] ms
    16-Aug-2020 13:04:56.850 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
    16-Aug-2020 13:04:56.880 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [3106] milliseconds
    16-Aug-2020 13:08:09.052 INFO [http-nio-8080-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
     Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
    	java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030x01'0xfc0x970xdb0xaaO]. HTTP method names must be tokens
    		at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:418)
    		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)
    		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    		at java.lang.Thread.run(Thread.java:748)
    16-Aug-2020 13:08:09.051 INFO [http-nio-8080-exec-4] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
     Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
    	java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030x980x1b0xc70xec<;*O0x1fK0x820xd50x1c0xb30x0e20xef0xf40xf30x850xb80xc90xcb0x010xd60xcf0xaf[0xb60xc4J0xf0]. HTTP method names must be tokens
    		at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:418)
    		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)
    		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    		at java.lang.Thread.run(Thread.java:748)
    ----my test we logs ----
    ----my test we logs ----
    ----my test we logs ----
    ----my test we logs ----
    ----my test we logs ----
    ----my test we logs ----
    [root@localhost tomcatlogs]# 
    
    

    发现项目部署成功,可以直接访问

  7. 我们以后开发的步骤:需要掌握Dockerfile的编写,我们之后的一切都是使用docker 镜像来发布运行

发布自己的镜像

Docker Hub

  1. 注册自己的账号 https://hub.docker.com/

  2. 确定这个账号可以登录

  3. 在我们服务器上提交自己的镜像

    [root@localhost tomcatlogs]# 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@localhost tomcatlogs]# 
    
    
  4. 登陆完毕后就可以提交镜像了,就是一步 docker push

    [root@localhost tomcatlogs]# docker login -u ukatta926
    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 tomcatlogs]# 
    
    
    [root@localhost tomcatlogs]# docker push ukatta926/diytomcat:1.0
    The push refers to repository [docker.io/ukatta926/diytomcat]
    An image does not exist locally with the tag: ukatta926/diytomcat
    [root@localhost tomcatlogs]# docker push diytomcat:1.0
    The push refers to repository [docker.io/library/diytomcat]
    tag does not exist: diytomcat:1.0
    [root@localhost tomcatlogs]# docker push diytomcat
    The push refers to repository [docker.io/library/diytomcat]
    ba15466b159d: Preparing 
    fab8a0203d73: Preparing 
    206ed5837e33: Preparing 
    ef76423fdcb5: Preparing 
    eb29745b8228: Preparing 
    denied: requested access to the resource is denied
    [root@localhost tomcatlogs]# docker push diytomcat:1.0
    The push refers to repository [docker.io/library/diytomcat]
    tag does not exist: diytomcat:1.0
    [root@localhost tomcatlogs]# docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    diytomcat             latest              ee64a327e7d4        44 minutes ago      641MB
    entrypoint            latest              5c6d37dcb43d        3 hours ago         215MB
    cmdtest               latest              de7499e3126c        3 hours ago         215MB
    mycentos              0.1                 c23db3495b90        4 hours ago         295MB
    ukatta/centos         1.0                 6c99fe6208a7        46 hours ago        215MB
    tomcat01              1.0                 adc67a391630        3 days ago          652MB
    tomcat                9.0                 2ae23eb477aa        10 days ago         647MB
    tomcat                latest              2ae23eb477aa        10 days ago         647MB
    redis                 latest              1319b1eaa0b7        11 days ago         104MB
    nginx                 latest              08393e824c32        11 days ago         132MB
    mysql                 5.7                 718a6da099d8        11 days ago         448MB
    portainer/portainer   latest              62771b0b9b09        3 weeks ago         79.1MB
    centos                latest              831691599b88        2 months ago        215MB
    elasticsearch         7.6.2               f29a1ee41030        4 months ago        791MB
    [root@localhost tomcatlogs]# docker push diytomcat:latest
    The push refers to repository [docker.io/library/diytomcat]
    ba15466b159d: Preparing 
    fab8a0203d73: Preparing 
    206ed5837e33: Preparing 
    ef76423fdcb5: Preparing 
    eb29745b8228: Preparing 
    denied: requested access to the resource is denied
    [root@localhost tomcatlogs]# docker push ukatta926/diytomcat:latest
    The push refers to repository [docker.io/ukatta926/diytomcat]
    An image does not exist locally with the tag: ukatta926/diytomcat
    [root@localhost tomcatlogs]# docker push diytomcat:latest
    The push refers to repository [docker.io/library/diytomcat]
    ba15466b159d: Preparing 
    fab8a0203d73: Preparing 
    206ed5837e33: Preparing 
    ef76423fdcb5: Preparing 
    eb29745b8228: Preparing 
    denied: requested access to the resource is denied
    [root@localhost tomcatlogs]# docker tag ee64a327e7d4 ukatta926/tomcat:1.o
    [root@localhost tomcatlogs]# docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    diytomcat             latest              ee64a327e7d4        47 minutes ago      641MB
    ukatta926/tomcat      1.o                 ee64a327e7d4        47 minutes ago      641MB
    entrypoint            latest              5c6d37dcb43d        3 hours ago         215MB
    cmdtest               latest              de7499e3126c        3 hours ago         215MB
    mycentos              0.1                 c23db3495b90        4 hours ago         295MB
    ukatta/centos         1.0                 6c99fe6208a7        46 hours ago        215MB
    tomcat01              1.0                 adc67a391630        3 days ago          652MB
    tomcat                9.0                 2ae23eb477aa        10 days ago         647MB
    tomcat                latest              2ae23eb477aa        10 days ago         647MB
    redis                 latest              1319b1eaa0b7        11 days ago         104MB
    nginx                 latest              08393e824c32        11 days ago         132MB
    mysql                 5.7                 718a6da099d8        11 days ago         448MB
    portainer/portainer   latest              62771b0b9b09        3 weeks ago         79.1MB
    centos                latest              831691599b88        2 months ago        215MB
    elasticsearch         7.6.2               f29a1ee41030        4 months ago        791MB
    
    
    # 解决推不上的问题,增加一个tag
    [root@localhost tomcatlogs]# docker tag ee64a327e7d4 ukatta926/tomcat:1.0
    [root@localhost tomcatlogs]# docker rmi ukatta926/tomcat 
    Error: No such image: ukatta926/tomcat
    [root@localhost tomcatlogs]# docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    diytomcat             latest              ee64a327e7d4        48 minutes ago      641MB
    ukatta926/tomcat      1.0                 ee64a327e7d4        48 minutes ago      641MB
    ukatta926/tomcat      1.o                 ee64a327e7d4        48 minutes ago      641MB
    entrypoint            latest              5c6d37dcb43d        3 hours ago         215MB
    cmdtest               latest              de7499e3126c        3 hours ago         215MB
    mycentos              0.1                 c23db3495b90        4 hours ago         295MB
    ukatta/centos         1.0                 6c99fe6208a7        46 hours ago        215MB
    tomcat01              1.0                 adc67a391630        3 days ago          652MB
    tomcat                9.0                 2ae23eb477aa        10 days ago         647MB
    tomcat                latest              2ae23eb477aa        10 days ago         647MB
    redis                 latest              1319b1eaa0b7        11 days ago         104MB
    nginx                 latest              08393e824c32        11 days ago         132MB
    mysql                 5.7                 718a6da099d8        11 days ago         448MB
    portainer/portainer   latest              62771b0b9b09        3 weeks ago         79.1MB
    centos                latest              831691599b88        2 months ago        215MB
    elasticsearch         7.6.2               f29a1ee41030        4 months ago        791MB
    [root@localhost tomcatlogs]# docker push ukatta926/tomcat:1.0
    The push refers to repository [docker.io/ukatta926/tomcat]
    ba15466b159d: Pushed 
    fab8a0203d73: Pushed 
    206ed5837e33: Pushing [==================================================>]  353.2MB
    ef76423fdcb5: Pushed 
    eb29745b8228: Pushing [==================================================>]  222.6MB
    ^C
    [root@localhost tomcatlogs]# ^C
    [root@localhost tomcatlogs]# docker push ukatta926/tomcat:1.0
    The push refers to repository [docker.io/ukatta926/tomcat]
    ba15466b159d: Layer already exists 
    fab8a0203d73: Layer already exists 
    206ed5837e33: Layer already exists 
    ef76423fdcb5: Pushed 
    eb29745b8228: Layer already exists 
    1.0: digest: sha256:a7768750a9401875098e7058ec2495b9aee9ab016bbbb35066cb78abef34b676 size: 1373
    [root@localhost tomcatlogs]# 
    
    
    

aliyun镜像服务

  1. 注册登录我们的帐号
  2. 找到容器镜像服务
  3. 创建命名空间(一个账号只能创建三个命名空间)在这里插入图片描述
  4. 创建容器镜像在这里插入图片描述
  5. 浏览阿里云 在这里插入图片描述
[root@localhost tomcatlogs]# docker login --username=111111111@qq.com registry.cn-shanghai.aliyuncs.com
Password: 
Error response from daemon: Get https://registry.cn-shanghai.aliyuncs.com/v2/: unauthorized: authentication required
[root@localhost tomcatlogs]# docker login --username=111111111@qq.com registry.cn-shanghai.aliyuncs.com
Password: 
Error response from daemon: Get https://registry.cn-shanghai.aliyuncs.com/v2/: unauthorized: authentication required
[root@localhost tomcatlogs]# docker login --username=111111111@qq.com registry.cn-shanghai.aliyuncs.com
Password: 
Error response from daemon: Get https://registry.cn-shanghai.aliyuncs.com/v2/: unauthorized: authentication required
[root@localhost tomcatlogs]# docker login --username=111111111@qq.com registry.cn-shanghai.aliyuncs.com
Password: 
Error response from daemon: Get https://registry.cn-shanghai.aliyuncs.com/v2/: unauthorized: authentication required
[root@localhost tomcatlogs]# docker login --username=111111111@qq.com registry.cn-shanghai.aliyuncs.com
Password: 
Error: Password Required
[root@localhost tomcatlogs]# ping registry.cn-shanghai.aliyuncs.com
PING registry.cn-shanghai.aliyuncs.com (139.196.71.17) 56(84) bytes of data.
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=1 ttl=90 time=19.9 ms
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=2 ttl=90 time=20.0 ms
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=3 ttl=90 time=19.8 ms
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=4 ttl=90 time=19.6 ms
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=5 ttl=90 time=23.8 ms
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=6 ttl=90 time=19.9 ms
64 bytes from 139.196.71.17 (139.196.71.17): icmp_seq=7 ttl=90 time=20.1 ms
^Z
[1]+  Stopped                 ping registry.cn-shanghai.aliyuncs.com
[root@localhost tomcatlogs]# docker login --username=111111111@qq.com registry.cn-shanghai.aliyuncs.com
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 tomcatlogs]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
diytomcat             latest              ee64a327e7d4        About an hour ago   641MB
ukatta926/tomcat      1.0                 ee64a327e7d4        About an hour ago   641MB
ukatta926/tomcat      1.o                 ee64a327e7d4        About an hour ago   641MB
entrypoint            latest              5c6d37dcb43d        3 hours ago         215MB
cmdtest               latest              de7499e3126c        3 hours ago         215MB
mycentos              0.1                 c23db3495b90        4 hours ago         295MB
ukatta/centos         1.0                 6c99fe6208a7        47 hours ago        215MB
tomcat01              1.0                 adc67a391630        3 days ago          652MB
tomcat                9.0                 2ae23eb477aa        10 days ago         647MB
tomcat                latest              2ae23eb477aa        10 days ago         647MB
redis                 latest              1319b1eaa0b7        11 days ago         104MB
nginx                 latest              08393e824c32        11 days ago         132MB
mysql                 5.7                 718a6da099d8        11 days ago         448MB
portainer/portainer   latest              62771b0b9b09        3 weeks ago         79.1MB
centos                latest              831691599b88        2 months ago        215MB
elasticsearch         7.6.2               f29a1ee41030        4 months ago        791MB
[root@localhost tomcatlogs]# docker push ukatta926/tomcat:1.0
The push refers to repository [docker.io/ukatta926/tomcat]
ba15466b159d: Layer already exists 
fab8a0203d73: Layer already exists 
206ed5837e33: Preparing 
ef76423fdcb5: Layer already exists 
eb29745b8228: Layer already exists 
denied: requested access to the resource is denied
[root@localhost tomcatlogs]# docker push registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images:1.0
The push refers to repository [registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images]
An image does not exist locally with the tag: registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images
[root@localhost tomcatlogs]# docker tag ee64a327e7d4 registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images:1.0
[root@localhost tomcatlogs]# docker push registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images:1.0
The push refers to repository [registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images]
ba15466b159d: Pushed 
fab8a0203d73: Pushed 
206ed5837e33: Pushed 
ef76423fdcb5: Pushed 
eb29745b8228: Pushed 
1.0: digest: sha256:a7768750a9401875098e7058ec2495b9aee9ab016bbbb35066cb78abef34b676 size: 1373
[root@localhost tomcatlogs]# 

docker save

docker save  -o /home/ukatta/diytomcat.tar ukatta926/tomcat:1.0


[root@localhost tomcatlogs]# docker images
REPOSITORY                                                         TAG                 IMAGE ID            CREATED             SIZE
diytomcat                                                          latest              ee64a327e7d4        2 hours ago         641MB
ukatta926/tomcat                                                   1.0                 ee64a327e7d4        2 hours ago         641MB
ukatta926/tomcat                                                   1.o                 ee64a327e7d4        2 hours ago         641MB
registry.cn-shanghai.aliyuncs.com/ukatta-test/ukatta-test-images   1.0                 ee64a327e7d4        2 hours ago         641MB
entrypoint                                                         latest              5c6d37dcb43d        3 hours ago         215MB
cmdtest                                                            latest              de7499e3126c        4 hours ago         215MB
mycentos                                                           0.1                 c23db3495b90        4 hours ago         295MB
ukatta/centos                                                      1.0                 6c99fe6208a7        47 hours ago        215MB
tomcat01                                                           1.0                 adc67a391630        3 days ago          652MB
tomcat                                                             9.0                 2ae23eb477aa        10 days ago         647MB
tomcat                                                             latest              2ae23eb477aa        10 days ago         647MB
redis                                                              latest              1319b1eaa0b7        11 days ago         104MB
nginx                                                              latest              08393e824c32        11 days ago         132MB
mysql                                                              5.7                 718a6da099d8        11 days ago         448MB
portainer/portainer                                                latest              62771b0b9b09        3 weeks ago         79.1MB
centos                                                             latest              831691599b88        2 months ago        215MB
elasticsearch                                                      7.6.2               f29a1ee41030        4 months ago        791MB

[root@localhost tomcatlogs]# docker save  -o /home/ukatta/diytomcat.tar ukatta926/tomcat:1.0
[root@localhost tomcatlogs]# 

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值