基于Dockerfile制作tomcat镜像
Docker 概述:
在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低。所以就需要一种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让 docker 读取并分析、执行,那么重复构建、更新将变得很方便,所以Dockerfile 就此诞生了
常用参数:
- FROM 命令。用法, FROM <image>:<tag>。 FROM 命令告诉 docker 我们构建的镜像是以哪个(发行版)镜像为基础的
- RUN 命令。用法 RUN 。 RUN 后面接要执行的命令,比如,我们想在镜像中安装 vim,只需在
- Dockfile 中写入 RUN yum install -y vim
- ENV 命令。用法,ENV 。 ENV 命令主要用于设置容器运行时的环境变量
- ADD 命令。用法, ADD 。 ADD 主要用于将宿主机中的文件添加到镜像中
基于 dockerfile 制作 tomcat 镜像
- 首先建一个目录构建我们的环境。
1 |
[root@localhost ~]# mkdir tomcat_centos |
- 上传 tomcat 和 jdk 到该目录下。
1 |
[root@localhost tomcat_centos]# ls |
- 编辑 Dockerfile
1 |
[root@localhost tomcat_centos]# vim Dockerfile |
- 构建镜像
1 |
[root@localhost tomcat_centos]# docker build -t bistros/tomcat:centos . |
- -t 选择指定生成镜像的用户名,仓库名和 tag
- –rm=true 指定在生成镜像过程中删除中间产生的临时容器。
查看新产生的镜像
1 |
[root@localhost tomcat_centos]# docker images bistros/tomcat:centos |
运行镜像
- 手动映射主机端口启动
1 |
[root@localhost tomcat_centos]# docker run -d -p 8090:8080 bistros/tomcat:centos |
- -p 指定主机 80 端口与容器 8080 端口进行绑定
- -d 指定容器运行后与当前 tty 分离,后台运行
- 65a0 是镜像的 ID 前 4 位。
通过 http://宿主机 IP:8090,即可看见我们熟悉的 tomcat 首页了。
- 自动映射主机端口的启动
1 |
[root@localhost tomcat_centos]# docker run -d -p 8080 --name tomcat |
这样就要通过 http://宿主机 IP:32768 访问了。
基于Dockerfile制作tomcat镜像的更多相关文章
- Docker系列(24)- 实战:DockerFile制作tomcat镜像
实战:DockerFile制作tomcat镜像 step-1 准备镜像文件 tomcat压缩包,jdk压缩包! step-2 编写dockerfile文件,官方命名Dockerfile,build会自 ...
- dockerfile:制作tomcat镜像+javaweb
FROM ubuntu:14.10 MAINTAINER linx #把java与tomcat添加到容器中,Add会解压 ADD jdk-8u151-linux-x64.tar.gz /usr/loc ...
- Docker之dockerfile制作jdk镜像
目的: Dockerfile简介 Dockerfile制作jdk镜像 Dockerfile简介 了解dockerfile之前要先了解Docker基本概念和使用可参考:https://www.cnblo ...
- dockerfile构建Tomcat镜像
dockerfile构建Tomcat镜像 一.镜像分层概念 二.制作tomcat镜像 2.1.创建分层目录 [root@node2 ~]# mkdir /app/{web/{nginx,tomcat, ...
- 实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署
最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...
- Docker | 制作tomcat镜像并部署项目
本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目 原料准备: tomcat.jdk安装包,dockerfile文件 步骤 1.准备压缩包 jdk-8u301-linux-x64.ta ...
- Dockerfile制作自定义镜像
本文介绍最精简的Dockerfile文件构建镜像,Docker启动的时候可以启动一个shell脚本 1.首先编写Dockerfile文件 说明 1.启动的这个shell脚本一定是不退出的,比如服务器的 ...
- Docker 使用Dockerfile构建tomcat镜像
Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...
- 如何使用Dockerfile构建Tomcat镜像并部署war
我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...
随机推荐
- Activiti工作流的入门介绍
一.activiti介绍 Activiti5是一个 业务流程管理(BPM)框架,它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执行流程语言框架.Activiti基于Ap ...
- gradle问题
1, my gradle version is 4.6 . in project.gradle : change dependencies { classpath 'com.android.tools ...
- cin cout
编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行的任何位置.当用户按下enter键,数据输入停止.程序自动对所有的整数进行求和并打印出结果. 需要解决两个 ...
- Django专题-auto模块
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
- 使用tensorflow的retrain.py训练图片分类器
参考 https://hackernoon.com/creating-insanely-fast-image-classifiers-with-mobilenet-in-tensorflow-f030 ...
- 10)global预定义变量
代码展示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- Java线程池面试
New Thread的弊端 每次new Thread会新建对象,性能差 线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM 缺少更多功能,如更多执行.定期执行.线 ...
- 【shell基础】条件测试
例1 判断目录是否存在 #!/usr/bin/bash back_dir=/var/mysql_back if ! test -d $back_dir;then mkdir -p $back_dir ...
- logService
vpackage org.linlinjava.litemall.admin.service; import org.apache.shiro.SecurityUtils; import org.ap ...