使用Dockerfile docker tomcat部署
在百度上试很多文章都不行,只有这篇可以。
宿主机为:centos64位
//安装docker
1:yum install docker
//启动docker
2:systemctl start docker.service
3:新建web目录
mkdir test/web
4:上传tomcat和jdk到该目录(Web)下。
5:配置Dockerfile :vim Dockerfile,然后复制下面的代码到Dockerfile中,保存。记得相应修改tomcat和jdk名
#pull down centos image
FROM centos
MAINTAINER test@test.com
#copy jdk and tomcat into image
ADD ./apache-tomcat-7.0.70.tar.gz /root
ADD ./jdk-7u80-linux-x64.tar.gz /root
#set environment variable
ENV JAVA_HOME /root/jdk1.7.0_80
ENV PATH $JAVA_HOME/bin:$PATH
#define entry point which will be run first when the container starts up
ENTRYPOINT /root/apache-tomcat-7.0.70/bin/startup.sh && tail -F /root/apache-tomcat-7.0.70/logs/catalina.out
6构建镜像
[root@localhost web]# docker build -t keven/centos:tomcat-centos --rm=true .
Sending build context to Docker daemon 507.1 MB
Step 1 : FROM centos
Trying to pull repository docker.io/library/centos ...
latest: Pulling from docker.io/library/centos
785fe1d06b2d: Pull complete
Digest: sha256:be5b4a93f116a57ab3fd454ada72421eac892a3a4925627ac9a44f65fcd69cf8
---> 98d35105a391
Step 2 : MAINTAINER 27381011@qq.com
---> Running in 6c49ddc87de9
---> 717ea8232a68
Removing intermediate container 6c49ddc87de9
Step 3 : ADD ./apache-tomcat-8.5.11.tar.gz /root
---> 79dee4e0968b
Removing intermediate container b7fd20fb27d4
Step 4 : ADD ./jdk-8u11-linux-x64.tar.gz /root
---> f9e00a11709f
Removing intermediate container 3e1d1cd9705f
Step 5 : ENV JAVA_HOME /root/jdk1.8.0_11
---> Running in b2296ac1b856
---> 67ea9916ce46
Removing intermediate container b2296ac1b856
Step 6 : ENV PATH $JAVA_HOME/bin:$PATH
---> Running in 904ef55db8dc
---> a32596709d8e
Removing intermediate container 904ef55db8dc
Step 7 : ENTRYPOINT /root/apache-tomcat-8.5.11/bin/startup.sh && tail -F /root/apache-tomcat-8.5.11/logs/catalina.out
---> Running in 959ccd7993b0
---> 41ab74750331
Removing intermediate container 959ccd7993b0
Successfully built 41ab74750331
7查看新产生的镜像
[root@localhost web]# docker images keven/centos
REPOSITORY TAG IMAGE ID CREATED SIZE
keven/centos tomcat-centos 41ab74750331 5 minutes ago 529.6 MB
8运行镜像
docker run -d -p 8090:8080 5207
-p指定主机80端口与容器8080端口进行绑定
-d 指定容器运行后与当前tty分离,后台运行
5207是镜像的ID前4位。
通过 http://宿主机IP:8090,即可看见我们熟悉的tomcat首页了。
使用Dockerfile docker tomcat部署的更多相关文章
- Docker Tomcat部署
1.下载tomcat镜像 docker pull tomcat 2.上传项目 /etc/tomcat/webapps/ 3.启动tomcat容器 docker run -d --name tomcat ...
- 使用docker+tomcat部署jenkins
- docker快速部署本地项目到服务器(tomcat8+mysql8)
目标是:将本地运行的spring项目,部署到服务器上 为什么使用docker? 环境隔离 服务器上,各种环境交杂,使用docker,能清楚的把各个项目进行隔离,不单维护的人员方便,也会省去很多维护这些 ...
- docker 实战---部署tomcat\weblogic集群 (二)
安装tomcat镜像 准备好须要的jdk tomcat等软件放到home文件夹以下 启动一个虚拟机 docker run -t -i -v /home:/opt/data --name mk_tom ...
- Docker容器Tomcat部署war包
在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run -d --nam ...
- Docker Compose部署 nginx代理Tomcat集群
一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hu ...
- 如何使用Dockerfile构建Tomcat镜像并部署war
我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...
- Docker容器部署tomcat出现中文乱码
docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [root@docker1 ~]# docker exec -it 41de9 ...
- 如果在docker中部署tomcat,并且部署java应用程序
1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创 ...
随机推荐
- LeetCode第136题:只出现一次的数字
问题描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: ...
- 数组最后一个元素的 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁
数组最后一个元素$arr = array( 1 , 2 , 3 , 4 );foreach ( $arr as & $value ) { $value = $value ...
- 教学ppt设计与制作
分三部分陈述,分别是元素呈现/版面设计/导航设计/. 1 元素呈现 文本 (1)字符表现策略 少用宋体 多用黑体,微软雅黑等 少用艺术字 (2)段落表现策略 条目化 一行一条 用符号简化文字描述 按有 ...
- TigerVNC编译安装
TigerVNC official site:http://www.linuxfromscratch.org/blfs/view/svn/xsoft/tigervnc.html TigerVNC版本: ...
- git commit失败
1.使用命令 git rm test.txt 删除版本库中文件, 下一步:git commit 提交 出现如图: 这是因为没有同时提交信息,即:git commit -m "这里是信息&q ...
- 弹出窗口Session丢失、防止表单重复提交问题
一.弹出窗口Session丢失问题 弹出窗口Session丢失使用window.showModalDialog进行信息的提示,相当方便,也容易控制外观和布局.但是存在一个严重的问题,就是Session ...
- Angular2使用ng2-file-upload上传文件
Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng2-uploader.ng2-uploader是一个轻便的上传文件的支持库,功能较弱,而ng2-f ...
- v$sqlarea,v$sql,v$sqltext这三个视图提供的sql语句有什么区别?
v$sqltext存储的是完整的SQL,SQL被分割 SQL> desc v$sqltextName Null? ...
- CompletionService详解
public interface CompletionService<V> { Future<V> submit(Callable<V> task); Future ...
- Nexus 相关
https://help.sonatype.com/repomanager3/download https://www.jianshu.com/p/5fc8fb14d25c