docker(4)使用Dockerfile文件创建镜像-对docker(3)的改进
在《docker(3)docker下的centos7下安装jdk》中,当进入容器后,执行 java命令 不能运行,需要执行source /etc/profile才能执行。如果采用Dockerfile就能解决这个问题。
1、先在宿主机上创建目录:centos_java_tomcat,路径是:/root/centos_java_tomcat
mkdir centos_java_tomcat
cd centos_java_tomcat
2、将jdk和tomcat复制到该目录下,形如:

3、在该目录下创建Dockerfile文件
FROM centos:7 MAINTAINER zys
#jdk
ADD jdk-8u65-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_65 /usr/local/jdk1.8
ENV JAVA_HOME /usr/local/jdk1.8
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib #tomcat
ADD apache-tomcat-8.5.32.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.5.32 /usr/local/tomcat8
ENV CATALINA_HOME /usr/local/tomcat8
ENV CATALINA_BASE /usr/local/tomcat8
EXPOSE 8080
#CMD ["/usr/local/tomcat8/bin/catalina.sh","run"] ENV LANG zh_CN.utf8
4、执行构建镜像命令
docker build -t centos7_jdk8_tomcat8:latest .
5、查看docker镜像
docker images

6、启动并进入该容器
[root@cent7-zuoys centos_java_tomcat]# docker run -ti centos7_java8_tomcat8 /bin/bash
[root@771aa6d5583b /]#
7、启动tomcat
[root@771aa6d5583b /]# cd /usr/local/tomcat8/bin/
[root@771aa6d5583b bin]# sh catalina.sh run
docker(4)使用Dockerfile文件创建镜像-对docker(3)的改进的更多相关文章
- 使用dockerfile文件创建镜像时docker build没有反应
问题: 先 docker pull centos:7 拉取了一个官方的基础镜像,为后续创建jdk8镜像做准备,在创建如下的dockerfile文件 执行docker build -t jdk_8u19 ...
- docker(四) 使用Dockerfile构建镜像
下面以一个例子来演示构建镜像的过程. #在/tmp目录下演示 cd tmp mkdir build-redis-image 1.创建Dockerfile文件 vim Dockerfile 并写入如下内 ...
- [转]Docker基础-使用Dockerfile创建镜像
本文转自:https://www.cnblogs.com/jie-fang/p/7927643.html 1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # T ...
- Docker基础-使用Dockerfile创建镜像
1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # This dockerfile uses the ubuntu image # VERSION 2 - ED ...
- 使用dockerfile构建镜像(docker build)
Docker buidl . 找出当前文件夹下的Docker build文件名的文件 Docker build -t centos(镜像名) . 在当前目录下找centos的镜像文件 Docker ...
- Docker 实战—使用 Dockerfile 构建镜像
Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpi ...
- DockerFile构建镜像和Docker仓库
利用commit理解镜像构成 注意: docker commit 命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现 场等.但是,不要使用 docker commit 定制镜像,定制镜像应该 ...
- 【原】Docker学习_Docker上传镜像至docker hub(4)
构造镜像的两种方式:1.commit 2.Dockerfile Docker提供了一个docker commit命令,可以将容器的存储层保存下来成为镜像.换句话说,就是在原有镜像的基础上,再叠加上容 ...
- 『现学现忘』Docker基础 — 40、发布镜像到Docker Hub
目录 1.准备工作 2.Docker登陆命令 3.Docker提交命令 4.总结: 5.补充:docker tag命令 1.准备工作 Docker Hub地址:https://hub.docker.c ...
随机推荐
- 修改Win10默认窗口背景色为护眼色的方法
按Windows键+R,打开“运行”对话框,输入regedit: 修改[HKEY_CURRENT_USER\Control Panel\Colors]下Windows键值为 199 237 204, ...
- (转)typedef和#define的用法与区别
typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...
- linux文件夹下载
1.压缩文件夹 tar cvzf ./chinese.tar.gz /usr/share/fonts/chinese 2.下载 sz chinese.tar.gz
- debug---null Pointer Exception--一步步查找(1)
找到对应的226行代码: 通过debug打断点,然后选中需要查看的代码,右击,选择Evaluate Expresstion,选择确认,就可以弹出具体的值,发现真的为null. 通过simon帮忙分析, ...
- ServletContext接口(六)
javax.servlet.ServletContext接口 ServletContext(上下文)是公用的,就是.net中的application,主要用到的就是全局set设置值,get获取值,ja ...
- Winform定时启动
System.Timers.Timer t; ; int qian; int bai; int shi; int ge; public 测试定时启动() { InitializeComponent() ...
- linux虚拟机与windows主机传输文件方法
通过ssh 这种方法需要虚拟机内的linux安装ssh服务,默认是安装的。 首先检查ssh服务是开启的,通过shell下执行命令:service ssh status, 查看ssh服务是否已开启 ...
- metasploit 学习笔记-VULNERABILITY SCANNING
使用漏洞扫描器会在网络上产生大量流量,因此如果你不希望被发现踪迹时,不要使用漏洞扫描器。 The Basic Vulnerability Scan 漏洞扫描器的质量很大程度上取决于它自带的漏洞特征库。 ...
- 从零开始安装 Ambari (3) -- 安装 Ambari
1. 安装 yum -y install ambari-server 2. ambari server 需要一个数据库存储元数据,默认使用的 Postgres 数据库.默认的用户名和密码是: amba ...
- git配置项目
1.下载安装完git 2.在git oschina上发布项目 3.管理-公匙管理 4.git上面生成公匙 $ cat ~/.ssh/id_rsa.pub 5.将公匙复制进 git oschina 管理 ...