ubuntu docker使用Dockerfile建立tomcat镜像包含jdk16.0.1的容器

1. 准备工作 

bulingbuling@us:~$ ls
apache-tomcat-9.0.45.tar.gz  Dockerfile  index.html  jdk-16.0.1_linux-x64_bin.tar.gz
bulingbuling@us:~$ 

Dockerfile文件内容如下

# Base images 基础镜像
From ubuntu

#Maintainer 维护者信息
Maintainer bulingbuling

#Add  文件放在当前目录下,拷过去会自动解压
Add jdk-16.0.1_linux-x64_bin.tar.gz /usr/local/
Add apache-tomcat-9.0.45.tar.gz /usr/local/

#Copy复制到镜像文件中(测试时能用到)
Copy index.html /usr/local/apache-tomcat-9.0.45/webapps/ROOT/

#Env 设置环境变量java与tomcat环境变量
Env JAVA_HOME /usr/local/jdk-16.0.1
Env CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
Env CATALINA_HOME /usr/local/apache-tomcat-9.0.45
Env CATALINA_BASE /usr/local/apache-tomcat-9.0.45
Env PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

#Workdir 相当于cd
Workdir /usr/local/apache-tomcat-9.0.45/

#容器运行时监听的端口 (没有则无法设置随机端口)
Expose 8080

#Entrypoint 自动执行  (没有会无法访问端口 curl(56) Recv failure: Connection reset by peer)
Entrypoint ["/usr/local/apache-tomcat-9.0.45/bin/catalina.sh","run"]

2.依据Dockerfile建立镜像
sudo docker build -t tomcat  .  (有个符号“.”表示当前目录)   (sudo 可以免执行  docker 免 sudo 命令 )

Step 12/12 : Entrypoint ["/usr/local/apache-tomcat-9.0.45/bin/catalina.sh","run"]
 ---> Running in f8ce662b471b
Removing intermediate container f8ce662b471b
 ---> 0735c78d3c66
Successfully built 0735c78d3c66
Successfully tagged tomcat:latest

3.docker images     (查看镜像)

bulingbuling@us:~$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
tomcat       latest    0735c78d3c66   31 minutes ago   400MB
ubuntu       latest    7e0aa2d69a15   3 weeks ago      72.7MB

4.docker run -it --name mytomcat -d -p 66:8080 tomcat  (启动容器端口为:8080) 

  • d: 后台运行容器,并返回容器ID;

  • -i: 以交互模式运行容器,通常与 -t 同时使用;

  • -P: 随机端口映射,容器内部端口随机映射到主机的端口

  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

  • --name="nginx-lb": 为容器指定一个名称;

5.docker ps  (查看以启动的容器  docker ps  -a  包括未启动的容器)

bulingbuling@us:~$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
ec4b8063d1e8   tomcat    "/usr/local/apache-t…"   6 minutes ago    Up 6 minutes    0.0.0.0:66->8080/tcp, :::66->8080/tcp   mytomcat
f642603f6776   tomcat    "/usr/local/apache-t…"   41 minutes ago   Up 41 minutes   0.0.0.0:88->8080/tcp, :::88->8080/tcp   brave_lewin

6.连接端口(外部浏览器    主机ip:端口号    http://192.168.0.666:66)

bulingbuling@us:~$ curl localhost:66
CTYPE html>
<html lang="en">
	<head>
		    <meta charset="UTF-8">
		        <meta http-equiv="X-UA-Compatible" content="IE=edge">
			    <meta name="viewport" content="width=device-width, initial-scale=1.0">
			        <title>Document</title>
	</head>
	<body>
		    <p>笙歌醉梦青衫落拓予风复笙歌</p>
	</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值