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 ...
随机推荐
- css中字间距调整(转)
css中字间距调整 (2014-01-02 13:51:07) 标签: 汉字 英文 间距 letter-spacing word-spacing 杂谈 分类: 网页制作 汉字间字间距设置:letter ...
- linux中创建图片服务器减轻传统服务器的压力
1.1. 传统项目中的图片管理 传统项目中,可以在web项目中添加一个文件夹,来存放上传的图片.例如在工程的根目录WebRoot下创建一个images文件夹.把图片存放在此文件夹中就可以直接使用在 ...
- Ros学习——导航
1.导航框架 在总体框架图中可以看到,move_base提供了ROS导航的配置.运行.交互接口,它主要包括两个部分: (1) 全局路径规划(global planner):根据给定的目标位置 ...
- Python 黑客 004 用Python构建一个SSH僵尸网络 01 简介
用Python构建一个SSH僵尸网络 01 简介 一. 构建一个SSH僵尸网络的流程图: Created with Raphaël 2.1.0手动操作,实现通过SSH连接目标服务器(手动)用 Pexp ...
- python 删除正在for循环遍历的list正确做法
先放一个python遍历发生的异常: ls =[1,2,3,4,5,6,7,8,9] for i in ls: print("i",i) print("ls", ...
- redis过期时间设置
方法一: $redis->setex(,'huahua'); 方法二: $redis->set('name','huahua'); $redis->expire('name',3);
- 前端基础 之 BOM和DOM
浏览目录 背景 BOM window对象 window的子对象 DOM HTML DOM树 查找标签 节点操作 事件 一.背景 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些 ...
- sublime 配置 anaconda 环境
安装清单: 软件列表: anaconda sublime text sublime插件列表: package control Conda 安装 anaconda https://www.continu ...
- H - the Sum of Cube(水题)
A range is given, the begin and the end are both integers. You should sum the cube of all the intege ...
- [SinGuLaRiTy] NOIP模拟赛(TSY)-Day 2
[SinGuLaRiTy-2033] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. ...