文档章节

Docker使用Dockerfile创建Centos(tomcat+jdk)镜像

l
 linjin200
发布于 2018/08/23 15:17
字数 627
阅读 45
收藏 2

Docker使用Dockerfile创建Centos(tomcat+jdk)镜像

2018年06月28日 10:25:46 阅读数:54更多

个人分类: 后端

原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389

Docker构建镜像的方法主要有两种:

    (1)使用docker commit命令;
 

    (2)使用docker build命令和Dockerfile文件(更为强大、灵活和常用);

 

一:准备centos镜像

docker pull centos

 

二:下载jdk、tomcat安装包,上传/usr/local/soft目录下

jdk1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

tomcat8下载:https://tomcat.apache.org/download-80.cgi

 

三:解压,创建Dockerfile文件

 
  1. tar -zxvf apache-tomcat-8.5.31.tar.gz #解压tomcat

  2.  
  3. tar -zxvf jdk-8u171-linux-x64.tar.gz #解压jdk

  4.  
  5. rm -rf apache-tomcat-8.5.31.tar.gz #删除安装包

  6.  
  7. rm -rf jdk-8u171-linux-x64.tar.gz #删除安装包

  8.  
  9. touch Dockerfile #创建文件

操作完成之后,soft目录内容如下:

 

四:编写Dockerfile文件

 
  1. #指定操作的镜像

  2. FROM centos

  3.  
  4. # 维护者信息

  5. MAINTAINER biubiu

  6.  
  7. #执行命令:创建目录

  8. RUN mkdir -p /usr/local/soft

  9. #将jdk1.8.0_171添加到镜像centos的/usr/local/soft/目录下,并命名为jdk

  10. ADD jdk1.8.0_171 /usr/local/soft/jdk

  11. #将apache-tomcat-8.5.31添加到镜像centos的/usr/local/soft/目录下,并命名为tomcat

  12. ADD apache-tomcat-8.5.31 /usr/local/soft/tomcat

  13.  
  14. #添加环境变量

  15. ENV JAVA_HOME /usr/local/soft/jdk

  16. ENV CATALINA_HOME /usr/local/soft/tomcat

  17. ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

  18.  
  19. #暴露8080端口

  20. EXPOSE 8080

  21.  
  22. #启动时运行tomcat

  23. CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]

FROM : 指定基础镜像,并且必须是第一条指令

MAINTAINER : 指定作者

RUN : 运行指定的命令

ADD : 复制命令,把文件复制到镜像中。

ENV : 设置环境变量

EXPOSE : 功能为暴漏容器运行时的监听端口给外部

CMD : 指定容器启动时运行的命令

 

五:构建Docker镜像

docker build -t repostory/centos_tomcat .

-t 设置tag名称, 命名规则registry/image:tag(若不添加版本号,默认latest)
. 表示使用当前目录下的Dockerfile文件(注意语句后面有一个点)

 

六:启动镜像,访问

docker run -d -p 8080:8080 --name Icentos repostory/centos_tomcat

-d 后台运行     

-p 端口映射  宿主机port : 容器port

--name 指定容器运行名称

关注「编程微刊」公众号 ,在微信后台回复「领取资源」,获取IT资源300G干货大全。公众号回复“1”,拉你进程序员技术讨论群

© 著作权归作者所有

l

linjin200

粉丝 23
博文 756
码字总数 844919
作品 0
福州
程序员
私信 提问
Docker入门

声明:原创文章,转载请注明出处。http://www.jianshu.com/u/e02df63eaa87 1、概念 Dockerfile:一个文本格式的配置文件,可以使用Dockerfile快速构建自定义镜像。 镜像:用来构建这个环境的...

唐影若凡
2017/06/26
0
0
制作Docker镜像

有两种方式可以制作docker镜像。 一、使用docker commit命令制作docker镜像 1. pull一个centos6.6的基础镜像,并运行一个docker container,然后在其中进行定制化(安装、配置服务等); 接下...

yuanhuan_2005
2015/04/26
0
0
【系列2】使用Dockerfile创建带sshd服务的Centos Docker镜像

使用Dockerfile创建 在第一部分中曾介绍过Dockerfile的基础知识,下面将介绍如何使用Dockerfile来创建一个支持SSH服务的镜像。 ① 创建工作目录 首先应创建一个sshdcentos工作目录: [root@...

Mr_sheng
2017/11/14
0
0
DICOM:Docker实现增量发布之前期准备

背景: 为了方便整体产品的发布,希望通过docker实现增量发布。大致的思路如下: is-there-a-way-to-add-only-changed-files-to-a-docker-image-as-a-new-layer-with。本博文对这种方式进行了...

zssureqh
2016/07/24
0
0
Dockerfile:制作可ssh登录的镜像

我们先手动制作一个可以ssh登录的容器,然后按照操作步骤编写Dockerfile,用docker build根据Dockerfile创建镜像,最后我们可以用这个镜像来生成可ssh登录的容器了。 一、首先创建一个容器并...

张斌_青岛
2014/12/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员Java教程分享Java的两种跳转语句

好程序员Java教程分享Java的两种跳转语句,Java跳转语句用于实现循环执行过程中程序流程的跳转,在Java中的跳转语句有 break语句和 continue语句两种。接下来分别进行详细地讲解。 1、Java的第...

好程序员IT
32分钟前
2
0
BCFTools安装

1 缺少bzlib.h:sudo apt-get install libbz2-dev 2 缺少lzma.h:sudo apt-get install liblzma-dev 安装时需同时具备bcftools和htslib工程,在bcftools文件夹中执行 #make #sudo make insta......

悲催的古灵武士
36分钟前
1
0
django2.2数据库删除以后无法重新创建问题处理

https://blog.csdn.net/androidstarjack/article/details/89216892 You are trying to add the field 'create_time' with 'auto_now_add=True' to video without a default.........

平头哥-Enjoystudy
38分钟前
1
0
Amino在实际项目中的安装和使用

Amino作为性能卓越的无锁集合包,List线程安全集合执行速度之快远超CopyOnRightArrayList,但它唯一的缺点就是无法用maven直接安装。 我们需要在其官网下载源码,直接安装到我们本地的私有库...

算法之名
39分钟前
13
0
Intellij热部署插件JRebel

Intellij热部署插件JRebel 2018年08月30日 23:15:48 慕容雪_ 阅读数 9674 版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/weixin_42831477/article/details/82229436...

嘿嘿嘿IT
41分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部