1、安装Docker

安装docker前请确认当前linux的内核版必须是3.10及以上
 命令: uname  -r

1)、yum install -y yum-utils device-mapper-persistent-data lvm2(docker的存储库中下载)
     设置稳定的存储库
2)、yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
     如果步骤2的链接下载不了,则可使用如下链接
     yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3)、下载最新版本docker
      yum install docker-ce docker-ce-cli containerd.io
4)、查看当前的docker的版本(非必需)
docker version 产看版本以及服务和客户端的版本

5)、启动docker
systemctl start docker
6)、设置开机自启动
systemctl enable docker

2、根据Dockerfile文件制作本地tomcat镜像

1)、编写本地镜像文件(即就是Dockerfile文件)
下面以制作tomcat 并简单部署一个war为例
前提:Dockerfile文件、apache-tomcat-8.5.31.tar.gz、jdk-1.8.0_171.tar.gz在同一位置
其中Dockerfile是自己创建的文件(命令:touch Dockerfile)
然后将下面的文件内容copy到Dockerfile文件中

#基础镜像
FROM centos
#作者信息
MAINTAINER jimi
# ADD是将文件复制到容器指定位置(/usr/local为容器内的位置)
ADD apache-tomcat-8.5.31.tar.gz /usr/local/
ADD jdk-1.8.0_171.tar.gz /usr/local/
ADD demo.war /usr/local/apache-tomcat-8.5.31/webapps/
#设置环境变量
ENV JAVA_HOME /usr/local/jdk-1.8.0_171
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.31
ENV PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#工作目录
WORKDIR /usr/local/apache-tomcat-8.5.31/bin
#对外暴露端口
EXPOSE 8080
#启动命令
CMD ["/usr/local/apache-tomcat-8.5.31/bin/catalina.sh","run"]

2)、根据Dockerfile文件构建镜像
命令:docker build -f Dockerfile -t 镜像名称:版本号 . (注意最后面的点,一点不能漏掉)
3)、运行镜像
  命令:docker run -d -p port1:port2 镜像名称  (port1是宿主机的端口   port2是容器内部端口  -d表示后台运行)

好了,简单的一个tomcat的本地镜像就制作成功了!欢迎大家批评指正,如有问题,欢迎随时交流!

centos7使用docker制作tomcat本地镜像的更多相关文章

  1. docker制作tomcat镜像

    准备cestos镜像.tomcat.jdk cestos是docker pull下来的 在/opt/下创建docker:mkdir -p /opt/docker 把tomcat和jdk解压到docke ...

  2. docker制作自己的镜像并上传dockerhub

    1.首先注册自己的dockerhub账号,注册地址:https://hub.docker.com 2.在linux服务器登录自己的账号:docker login --username=qiaoyeye ...

  3. CentOS7安装Docker,运行Nginx镜像、Centos镜像

    摘要 总体思路:yum命令直接安装Docker,下载想要的镜像并启动 1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum instal ...

  4. docker制作node程序镜像:

    准备: 需要5个文件 新建一个docker文件夹 1 .ignore git忽略文件用的 2 pakage.json 安装NODE程序的 也可以直接拷贝进 docker文件加 3 node环境 lin ...

  5. docker批量删除本地镜像和容器

    长时间运行docker,每次只用docker kill去停止容器,但是从没删除过本地镜像,导致有上百个镜像在占用内存. 1.批量停止容器 docker container stop $(docker ...

  6. Docker | 制作tomcat镜像并部署项目

    本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目 原料准备: tomcat.jdk安装包,dockerfile文件 步骤 1.准备压缩包 jdk-8u301-linux-x64.ta ...

  7. Docker 制作自己的镜像

    1. 下载tomcat镜像 docker pull hub.c.163.com/library/tomcat:latest 2. 创建Dockfile vi Dockerfile from hub.c ...

  8. 在Centos7下docker配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)

    最近在学习Docker,准备做自动化测试代码集成的功能.如下文章的前提是已经安装好linux系统,且成功安装好Docker. 接下来我会按步骤一步一步的对自动化需要的一些环境进行安装,如果没有特别说明 ...

  9. centos7安装docker,并配置镜像加速

    yum安装gcc yum -y install gcc yum -y install gcc-c++ 卸载旧版本 (没有可忽略) yum -y remove docker docker-common ...

随机推荐

  1. 集合的操作 contains(),containsAll() ,addAll(),removeAll(),

    package seday11; import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;/** ...

  2. C语言随笔4:指针数组、数组指针

    数组: 1:数组名为地址,表达方法: Int A[10]; A;//数组名表示首地址 &A;//数组名加取地址符,仍然表示首地址 &A[0];//第0个元素的地址,即首地址 数组名是指 ...

  3. Qt入门-表格类QTableWidget

    原文 :http://blog.csdn.net/xgbing/article/details/7774737 表格是GUI中常用的控件,在Qt中,常用的表格类是QTableWidget. 示例: Q ...

  4. ACM-ICPC实验室20.2.22测试-动态规划

    C.田忌赛马 直接贪心做就可以~ #include<bits/stdc++.h> using namespace std; ; int a[maxn],b[maxn]; int main( ...

  5. Java - JVM - 类的生命周期

    概述 简述 JVM 里 类的生命周期 上次写了 30%, 居然丢了 难受, 又要重新写 类的生命周期 加载 使用 卸载 1. 加载 概述 类型的加载 大体流程 装载 连接 验证 准备 解析(可选的) ...

  6. 对于使用secureFX上传文件到centos7 的时候,以及不同的用户解压文件,对于文件操作权限的实验

    本以为以一个用户胡如root登录了SecureFx,之后选择了root的家目录下的一个software目录,之后上传 以root用户远程登录LINUX系统 查看文件 之后再验证普通用户zhaijh登录 ...

  7. 南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup

    南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup 题目描述 文件下载地址 很明显,文件之间进行亦或就可得到flag,不再多说,直接上脚本 #coding:utf-8 file_a = ...

  8. 使用python同时替换json多个指定key的value

    1.如何同时替换json多个指定key的value import json from jsonpath_ng import parse def join_paths(regx_path,new_val ...

  9. python中的基本类型

    字符串类型 字符串相当于羊肉串,而字符串就是一串被串起来的字符,在单引号.双引号或三引号内包裹一串字符.需要注意的是:三引号内的字符串可以换行,而单引号内的字符不行 name='anny' name= ...

  10. spring与jdbc,mybatis的结合

    关键点在于把DataSource(数据源)配置到spring容器中,通过数据源获取数据库连接对象 数据库连接池(pool):管理数据库连接对象 四种数据源: 1)<!-- 基于jdk的规范数据源 ...