您当前的位置:首页 > 时尚 > 内容

docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)

关于【docker安装tomcat】,如何在docker中安装tomcat,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、docker安装tomcat:docker-compose安装tomcat2、docker安装tomcat,如何在docker中安装tomcat

1、docker安装tomcat:docker-compose安装tomcat

docker-compose部署tomcat的需要注意的是:

直接用 docker-compose.yml 方式创建容器,无法启动 tomcat ,因为缺少启动文件,所以先临时创建一个容器,然后把容器内需要的文件复制到宿主机,再用 docker-compose.yml 方式进行部署

1 先在主机上创建工作文件夹,为了放置 Tomcat 的配置文件等。创建文件夹的方法,自己搞定

目录结构:

bin conf docker-compose.yml logs webapps

docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)

2 先随便启动一个 tomcat 容器(用第一种方法,docker run),主要是为了获取 tomcat 容器内部的配置文件

#启动一个容器,指定版本8.5.78

docker run --name my_tomcat -it -d -p 8080:8080 tomcat:8.5.7

# 查看 容器 获取容器ID

docker ps -a

3 进入tomcat的容器,拷贝容器文件到主机

docker exec -it tomcat bash 或者 docker exec -it tomcat容器id bash

容器内 tomcat 文件夹下的 conf bin logs webapps.dst 里面的内容都拷贝到上面宿主机上创建的对应文件夹内。容器的文件拷贝到宿主机的命令如下:

#在主机上执行

docker cp 容器id长格式:/usr/local/tomcat/webapps.dst/ /usr/local/tomcat/webapps

查看容器id长格式的方法:

docker inspect -f '{{.ID}}' tomcat如:docker cp 9f4bfb6e8ffd850b7e56055a46eaf7ffaf2609c5ae1a26502837778598b972b1:/usr/local/tomcat/webapps/ /home/cater/spring-java/tomcat85/webapps

注意:路径不能包含*,否则找不到path

临时容器的版本与docker-compose创建的tomcat的版本一定要一致,否则会出现各种异常

4 删除tomcat临时容器

文件拷贝完成之后,临时tomcat容器就可以删除了

docker rm -f tomcat

5 使用docker-compose部署即可

docker-compose.xml

version: '3'services: tomcat: # restart: always # build: /home/spring-java/tomcat85 build: context: ./ dockerfile: Dockerfile #image: tomcat:8.5.59-jdk8 container_name: tomcat8 logging: #driver: "json-file" driver: "gelf" options: #max-size: "50m" #max-file: "8" gelf-address: "udp://172.16.11.15:12201" tag: "log-tomcat" environment: TZ: Asia/Shanghai JAVA_OPTS: -Xms1024m -Xmx4096m -XX:+UnlockCommercialFeatures -XX:+FlightRecorder volumes: - ./conf:/usr/local/tomcat/conf - ./logs:/usr/local/tomcat/logs - ./webapps:/usr/local/tomcat/webapps # - ./lib:/usr/local/tomcat/lib - ./webapps:/usr/local/tomcat/webapps - ./application/logs:/application/logs ports: - 8088:8088 expose: - 8088

Dockerfile的内容:

FROM tomcat:8.5.78-jdk8#将lib里面的jar包都拷贝到 /usr/local/tomcat/lib下面COPY lib /usr/local/tomcat/lib

注意:dockerfile的内容必须FROM开头

docker-compose up -d

如果tomcat容器需要依赖jar怎么办呢?

只需将主机的jar拷贝到容器即可,如:

docker cp /home/cater/spring-java/tomcat85/lib

9f4bfb6e8ffd3237e56055a46eaf7ffaf2609c5ae1a26502837778598b972b1:/usr/local/tomcat/lib/

注意:

webapps 中的是空的,

将目录下webapps.dist里文件复制到webapps

dockerfile中COPY 与ADD的区别:

如 COPY lib /usr/local/tomcat/lib

ADD lib /usr/local/tomcat/lib

COPY 文件夹时,拷贝的是文件夹里面的内容,文件夹lib本身不拷贝

ADD 文件夹时,文件夹lib本身会复制过去

2、docker安装tomcat,如何在docker中安装tomcat

今天给大家分享docker安装tomcat安装说明,服务器版本为Centos8,安装的tomcat版本为tomcat:8.5.38。

1.官网镜像版本查找

https://hub.docker.com/

docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)

2、拉取tomcat镜像

docker pull tomcat:8.5.38

参数说明:

tomcat:软件名称

8.5.38:版本号

3. 查看镜像是否下载成功

docker images

docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)

4、启动tomcat8镜像

docker run --name tomcat8 -d -p 28080:8080 tomcat:8.5.38

参数说明:

tomcat8:容器的命名

-d:表示容器后台启动

-p 28080:8080 端口映射:8080是Docker容器端口,28080是外网访问端口

tomcat:8.5.38 :镜像名称

访问地址:公网IP:28080

注意:防火墙要开启28080端口,对应的云服务器也要调整安全组,开发28080端口。

docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)

说明:tomcat8可以直接访问页面的,高版本的可能会出现404,具体原因是

webapps文件夹里没有文件,查看 webapps.dist 文件夹,发现文件在里面,因此需要删除原有的 webapps 文件夹, 然后把webapps.dist 文件夹重命名为 webapps就可以了。

docker exec -it tomcat8 /bin/bash #进入tomcat容器# 进入webapps cd webapps # 发现没有文件 ls -l # 进入webapps.dist cd webapps.dist # 存在examples文件 ls -l # 删除webapps rm -r webapps # 重命名 mv webapps.dist webapp # 退出容器 exit

5、查看运行的docker

docker -ps

docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)

6、挂载tomcat目录

本文关键词:docker安装tomcat部署项目,docker安装tomcat7,docker安装tomcat8,docker安装tomcat并部署war项目,Docker安装包下载。这就是关于《docker安装tomcat,如何在docker中安装tomcat(docker-compose安装tomcat)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 盆景假山石价格(盆景假山石价格多少)

下一篇: 皇子打野天赋(皇子打野符文天赋2023)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号