数据卷dockerfile

目录

一、数据卷

1. 简介

2. 数据卷和数据卷容器

1. 数据卷:

2. 数据卷容器:

二、自定义镜像

1. 作用

2. 自定义centos

3. 自定义tomcat8


一、数据卷

1. 简介

数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直接映射进容器

2. 数据卷和数据卷容器

1. 数据卷:

将宿主机的目录与容器的目录进行挂载,实现数据共享

docker run -di --name c2 -v /home/lixiao/data/:/home/lixiao/data/ centos:7

结论:不管宿主机、容器在指定目录创建文件夹还是文件,都会会被共享;

2. 数据卷容器:

容器与容器共享目录

docker run -di -v /home/javaxl/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7

其中c4为数据卷容器,c6为普通容器,其中c4就起到一个桥接作用,我们可以通过docker inspect查看容器的详细情况

docker inspect c4
docker inspect c6

会发现c4、c6目录挂载情况是一样的

结论:不管c4、c6在指定目录创建文件夹还是文件,都会会被共享

二、自定义镜像

1. 作用

是用来制作镜像的文件

2. 自定义centos

  • 编辑Dockerfiile文件        vim mycentosDockerfile

        Dockerfile文件中的内容:

        FROM centos:7
        MAINTAINER javaxl "javaxl@qq.com"
        RUN yum -y install vim
        RUN yum install net-tools.x86_64 -y
        CMD /bin/bash

  • 通过Dockerfile构建镜像         docker build -f mycentosDockerfile -t javaxl/centos:v1.0 .
  • 通过镜像运行一个容器进行测试        docker run -it --name mc1 javaxl/centos:v1.0 /bin/bash

3. 自定义tomcat8

  • 编辑Dockerfiile文件        vim mytomcatDockerfile

        Dockerfile文件中的内容:

        

        FROM centos:7
        MAINTAINER javaxl "javaxl@qq.com"

        ENV workerDir /home/javaxl/dockerfile/3
        WORKDIR $workerDir

        ADD jdk-8u151-linux-x64.tar.gz $workerDir
        COPY apache-tomcat-8.5.20.tar.gz $workerDir
        RUN tar -xvf apache-tomcat-8.5.20.tar.gz apache-tomcat-8.5.20

        ENV JAVA_HOME $workerDir/jdk1.8.0_151
        ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        ENV TOMCAT_HOME $workerDir/apache-tomcat-8.5.20
        ENV PATH $JAVA_HOME/bin:$TOMCAT_HOME/bin:$TOMCAT_HOME/lib:$PATH

        EXPOSE 8080
        ENTRYPOINT ["/home/javaxl/dockerfile/3/apache-tomcat-8.5.20/bin/catalina.sh","run"]

  • 通过Dockerfile构建镜像        docker build -f mytomcatDockerfile -t javaxl/tomcat8:v1.0 .
  • 通过镜像运行2个容器进行测试

        docker run -di --name mt1 -P javaxl/tomcat8:v1.0
        docker run -di --name mt2 -P javaxl/tomcat8:v1.0

如果觉得太麻烦就用8080端口,那就用这个:

        docker run -di --name mt2 -p 8080:8080 javaxl/tomcat8:v1.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/266322.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python笔记-设计模式】状态模式

一、说明 状态模式是一种行为设计模式,用于解决对象在不同状态下具有不同行为 (一) 解决问题 在对象行为根据对象状态而改变时,规避使用大量的条件语句来判断对象的状态,提高系统可维护性 (二) 使用场景 当对象的行为取决于其状态&#…

List集合的Stream流式操作实现数据类型转换

问题现象: 最近在项目中,有一些逻辑想用List集合的Stream流式操作来快速实现,但由于之前没做好学习笔记和总结,导致一时间想不起来,只能用本方法来解决,如下: 可以看出来代码量是比较冗长的&…

智能驾驶规划控制理论学习-基于采样的规划方法

目录 一、基于采样的规划方法概述 二、概率路图(PRM) 1、核心思想 2、实现流程 3、算法描述 4、节点连接处理 5、总结 三、快速搜索随机树(RRT) 1、核心思想 2、实现流程 3、总结 4、改进RRT算法 ①快速搜索随机图&a…

postman切换成黑色主题

postman安装以后默认是白色背景,如果想要切换成黑色的,大家可以按照下图箭头指示来操作。 1打开设置 2在Themes页面选择黑色主题

4G 蜂窝移动通信系统

4G 蜂窝移动通信系统 第四代 (4G) 蜂窝移动通信系统 2008 年,名称定为高级国际移动通信 IMT-Advanced (International Mobile Telecommunications-Advanced) 。 IMT-Advanced 的一个最重要的特点:取消了电路交换,无论传送数据还是话音&#…

从 iOS 设备恢复数据的 20 个iOS 数据恢复工具

作为 iPhone、iPad 或 iPod 用户,您可能普遍担心自己可能会丢失存储在珍贵 iOS 设备中的所有宝贵数据。数据丢失的原因多种多样,这里列出了一些常见原因: 1. iOS 软件更新 2. 恢复出厂设置 3. 越狱 4. 误操作删除数据 5. iOS 设备崩溃 …

易货模式微信小程序的可行性分析

随着移动互联网技术的快速发展,微信小程序作为一种轻量级的应用形态,已经成为众多创业者和服务提供者关注的焦点。微信小程序以其便捷的使用体验、较低的开发成本和广泛的用户基础,成为了各类业务模式的创新平台。在这样的背景下,…

c# ABB 机械手上位机连接

c# 程式开发和调试步骤如下: ABB 机械手要开启PC Interface功能。ABB 机械手设定ip地址。设定测试笔记本和机械手同一网段,用网线直连机械手,也可以通过交换机连接机械手。确保笔记本能够ping通和telnet 机械手80端口都是OK的。以上都OK的话…

图神经网络实战——图论

图神经网络实战——图论 0. 前言1. 图属性1.1 有向图和无向图1.2 加权图与非加权图1.3 连通图非连通图1.4 其它图类型 2. 图概念2.1 基本对象2.2 图的度量指标2.2 邻接矩阵表示法 3. 图算法3.1 广度优先搜索3.2 深度优先搜索 小结系列链接 0. 前言 图论 (Graph theory) 是数学…

ifort 自定义命名可执行程序

背景 在Linux上用ifort编译Fortran程序时,想自定义可执行程序的名字 有帖子(ifort编译命令)说可以使用这个: ifort -c 自定义命名 ***.f90 亲测不行 步骤 ifort ***.f90 : 默认产生的是a.out可执行程序 亲测有效&…

内网穿透 nas/树莓派+ipv4服务器 (ipv6)

nas 1.有个服务器 2.有个nas https://github.com/snail007/goproxy/blob/master/README_ZH.md https://github.com/snail007/proxy_admin_free/blob/master/README_ZH.md 2个官网一个是程序,一个是网站 手册 https://snail007.host900.com/goproxy/manual/zh/#/?i…

KubeEdge 边缘计算

文章目录 1.KubeEdge2.KubeEdge 特点3.KubeEdge 组成4.KubeEdge 架构 KubeEdge # KubeEdgehttps://iothub.org.cn/docs/kubeedge/ https://iothub.org.cn/docs/kubeedge/kubeedge-summary/1.KubeEdge KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展…

「MySQL」增删查改

在操作数据库中的表时,需要先使用该数据库: use database;新增 创建表 先用 use 指定一个数据库,然后使用 create 新增一个表 比如建立一个学生表 mysql> use goods; mysql> create table student(-> name varchar(4),-> age int,-> …

初学JavaWeb开发总结

0 什么是Web开发 Web: 全球广域网,又称万维网(www World Wide Web),能够通过浏览器访问的网站。 Web开发,就是开发网站的,如:淘宝、京东等等。 1 网站的工作流程 流程: 浏览器先向前端服务器请求前端资…

【计算机网络——应用层】http协议

文章目录 1. http协议1.1 http协议简介1.2 url组成1.3 urlencode与urldecode 2. http协议的格式2.1 http协议的格式2.2 一些细节问题 3. http的方法、状态码和常见响应报头3.1 http请求方法3.2 http状态码3.3 http常见的响应报头属性 4. 一个非常简单的http协议服务端5. http长…

蓝桥杯练习系统(算法训练)ALGO-995 24点

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 24点游戏是一个非常有意思的游戏,很流行,玩法很简单:给你4张牌,每张牌上有数…

LeetCode -- 79.单词搜索

1. 问题描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水…

arm板运行程序时寻找动态库的路径设置

问题:error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file? 第一种方法---- 解决: ①复制需要用到的arm库到板子上。 ②pwd指令获取该库的绝对路径,把路径复制到/etc/ld.so.conf文件 ③输…

Python:练习:编写一个程序,写入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款

案例: python编写一个程序,写入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款: Enter a dollar amout:93 $20 bills: 4 $10 bills: 1 $5 bills:0 $1 bills:3 思考: 写入一个美金数量&…

Day06:基础入门-抓包技术HTTPS协议APP小程序PC应用WEB转发联动

目录 HTTP/HTTPS协议抓包工具 Web浏览器抓包 APP应用抓包 WX小程序&PC应用抓包 思维导图 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下载…