文档章节

centos7系统下构建docker镜像文件(jdk7+tomcat7)

zhouyalei
 zhouyalei
发布于 2017/02/12 22:07
字数 739
阅读 38
收藏 0

从零开始构建一个centos+jdk7+tomcat7的镜像文件

centos7系统下docker运行环境的搭建

准备centos基础镜像

docker pull centos
或者直接下载我准备好的镜像
docker pull registry.cn-hangzhou.aliyuncs.com/repos_zyl/centos:0.0.1

准备jdk7和tomcat7安装包

rm -rf /z/docker/jdk/*src.zip \
    /z/docker/jdk/lib/missioncontrol \
    /z/docker/jdk/lib/visualvm \
    /z/docker/jdk/lib/*javafx* \
    /z/docker/jdk/jre/lib/plugin.jar \
    /z/docker/jdk/jre/lib/ext/jfxrt.jar \
    /z/docker/jdk/jre/bin/javaws \
    /z/docker/jdk/jre/lib/javaws.jar \
    /z/docker/jdk/jre/lib/desktop \
    /z/docker/jdk/jre/plugin \
    /z/docker/jdk/jre/lib/deploy* \
    /z/docker/jdk/jre/lib/*javafx* \
    /z/docker/jdk/jre/lib/*jfx* \
    /z/docker/jdk/jre/lib/amd64/libdecora_sse.so \
    /z/docker/jdk/jre/lib/amd64/libprism_*.so \
    /z/docker/jdk/jre/lib/amd64/libfxplugins.so \
    /z/docker/jdk/jre/lib/amd64/libglass.so \
    /z/docker/jdk/jre/lib/amd64/libgstreamer-lite.so \
    /z/docker/jdk/jre/lib/amd64/libjavafx*.so \
    /z/docker/jdk/jre/lib/amd64/libjfx*.so

进入/z/docker目录, 在当前目录下创建Dockerfile文件

cd /z/docker
vi Dockerfile

#插入以下内容
#使用的基础镜像
FROM registry.cn-hangzhou.aliyuncs.com/repos_zyl/centos:0.0.1
#作者信息
MAINTAINER yzzhouyalei "yzzhouyalei@foxmail.com"

#创建目录
RUN mkdir -p /z/java/jdk1.7.0_79
#把当前目录下的jdk文件夹添加到镜像
ADD jdk /z/java/jdk1.7.0_79

#创建tomcat目录
RUN mkdir -p /z/java/apache-tomcat-7.0.70
#把当前目录下的tomcat文件夹添加到镜像
ADD tomcat /z/java/apache-tomcat-7.0.70

#添加环境变量
ENV JAVA_HOME /z/java/jdk1.7.0_79
ENV CATALINA_HOME /z/java/apache-tomcat-7.0.70
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

#暴露8080端口
EXPOSE 8080

#启动时运行tomcat
CMD ["/z/java/apache-tomcat-7.0.70/bin/catalina.sh","run"]

开始构建docker镜像文件

docker build -t repos_local/centos-jdk7-tomcat7:0.0.1 .
-t 后面设置registry名称, 命名规则registry/image:tag
. 表示使用当前目录下的Dockerfile文件

等待构建完成, 不出意外的话, 执行docker images将会得到以下结果

[root@localhost docker]# docker images
REPOSITORY                                           TAG                 IMAGE ID            CREATED             SIZE
repos_local/centos-jdk7-tomcat7                      0.0.1               2c5efe7056ce        4 minutes ago       511.7 MB

repos_local/centos-jdk7-tomcat7镜像已经构建好了, 从这个镜像启动容器, 并配置好端口, 就能直接在浏览器上看到tomcat默认界面了

启动centos-jdk7-tomcat7容器

docker run -d -p 8081:8080 --name test-tomcat repos_local/centos-jdk7-tomcat7:0.0.1
-d 后台运行
-p 宿主机port:容器port 端口映射
--name 给容器起名字

直接在浏览器访问centos7系统的8081端口, 已经能看到tomcat的默认界面了

查看container容器的运行状态

[root@localhost docker]# docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS                    NAMES
1a49a277c235        repos_local/centos-jdk7-tomcat7:0.0.1   "/z/java/apache-tomca"   3 minutes ago       Up 3 minutes        0.0.0.0:8081->8080/tcp   test-tomcat

到这里, 在centos7系统下构建docker镜像文件已经成功

© 著作权归作者所有

共有 人打赏支持
zhouyalei
粉丝 1
博文 6
码字总数 4590
作品 0
郑州
私信 提问
docker - 构建一个简单的docker镜像

docker构建镜像的方式有两种,一种是通过 docker commit 命令构建,另一种是通过 Dockerfile 构建文件构建。下面分别通过两种方式介绍这两种构建方式。 接下来,我们会分别采用上述的两种方式...

细肉云吞
2018/11/11
0
0
Docker镜像制作实战:设置时区和系统编码

在制作Docker镜像时常用centos的官方镜像作为基础镜像,这些基础镜像的时区和系统编码都不满足我们的需求,我们需要时区CST,系统编码UTF-8,今天我们就来实战制作一个Docker镜像,将时区和系...

boling_cavalry
2018/05/20
0
0
构建属于自己的原生docker images

制作image原生镜像需要使用febootstrap工具,需要注意的是,在centos7系列中,默认的源中不带此包,但是在centos6系列中,该包是默认可用使用的。 在centos6中安装febootstrap 使用febootstr...

Andy-xu
2016/08/17
167
0
「初级篇」跟我一起学docker(二)--核心概念和安装

环境介绍: 操作系统:64bit CentOS7 docker版本:17.05.0-ce(最新版本) 版本新功能: https://github.com/docker/docker/blob/master/CHANGELOG.md 安装步骤 系统:64位centos7 迅雷直接下...

zhugeaming2018
2018/05/25
0
0
jenkins+docker 持续构建非docker in docker

工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目spring boot...

zygfengyuwuzu
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tac 与cat

tac从后往前看文件,结合grep使用

writeademo
49分钟前
2
0
表单中readonly和dsabled的区别

这两种写法都会使显示出来的文本框不能输入文字, 但disabled会使文本框变灰,而且通过通过表单提交时,获取不到文本框中的value值(如果有的话), 而readonly只是使文本框不能输入,外观没...

少年已不再年少
今天
2
0
SpringBoot上传图片操作

首先有个上传文件的工具类 /** * 文件上传 * @param file * @param filePath * @param fileName * @throws Exception */public static void uploadFile(byte[] file, String ...

_liucui_
今天
6
0
DrawerLayout

public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener,OnFragmentInteractionListener{ public NavigationView navView; ......

安卓工程师王恒
今天
2
0
python精简笔记

python精简笔记-字符串基本用法 字符串常见用法: * encode() # 编码成bytes类型 * find() # 查找子串 * index() # 获取下标 * replace() # 替换子串 * len(string) # 返回字符串长度,...

平头哥-Enjoystudy
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部