Dockerfile
Dockerfile介绍
dockerfile 是用来构建docker镜像的文件!命令参数脚本!
构建步骤:
- 编写一个dockerfile文件
- docker build 构建一个镜像
- docker run 运行镜像
- docker push 发布镜像 (DockerHub,aliyun镜像仓库)
查看一下官方是怎么做的
很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!
官方既然可以制作镜像,那我们也可以!
DockerFile构建过程
基础知识:
- 每个保留关键字(指令)都是大写字母
- 执行从上到下顺序执行
- #表示注释
- 每一个指令都会创建一个新的镜像曾,并提交!
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镜像
-
准备镜像文件 tomcat 压缩包,jdk 压缩包
-
编写 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
-
构建镜像
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
-
启动镜像
[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]#
-
访问测试
[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 & 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. <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 ©1999-2020 Apache Software Foundation. All Rights Reserved</p> </div> </body> </html> [root@localhost tomcat]#
-
发布项目,由于做了卷挂载,我们直接在本地编写项目就可以发布了
<?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]#
发现项目部署成功,可以直接访问
-
我们以后开发的步骤:需要掌握Dockerfile的编写,我们之后的一切都是使用docker 镜像来发布运行
发布自己的镜像
Docker Hub
-
注册自己的账号 https://hub.docker.com/
-
确定这个账号可以登录
-
在我们服务器上提交自己的镜像
[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]#
-
登陆完毕后就可以提交镜像了,就是一步 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镜像服务
- 注册登录我们的帐号
- 找到容器镜像服务
- 创建命名空间(一个账号只能创建三个命名空间)
- 创建容器镜像
- 浏览阿里云
[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]#