docker的数据卷和docker的自定义镜像

news2024/9/21 16:42:51

docker的数据卷和docker的自定义镜像

  • 1.docker的数据卷
    • 1.1创建 docker volume create 数据卷名称
    • 1.2 查看数据卷docker volume ls
    • 1.3 删除一个volume
  • 2.将宿主机的目录与容器的目录进行挂载,实现数据共享
    • 2.1数据卷相互共享
  • 3.自定义镜像
    • 3.1编辑Dockerfiile文件 vim mycentosDockerfile
    • 3.2自定义tomcat

1.docker的数据卷

1.1创建 docker volume create 数据卷名称

在这里插入图片描述

1.2 查看数据卷docker volume ls

在这里插入图片描述

1.3 删除一个volume

docker volume rm my-vol

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

docker run -di --name c2 -v /home/niyin/data/:/home/niyin/data/ centos:7
这个命令用于在 Docker 中以后台模式运行一个名为 "c2" 的容器,并将本地主机上的 /home/niyin/data/ 目录挂载到容器内的 /home/niyin/data/ 目录。以下是这个命令的详细分析:

docker run: 这是运行 Docker 容器的命令。
-di: 这是两个参数的组合,它们分别是:
-d:表示在后台模式下运行容器。容器将会在后台运行,而不会阻塞当前终端。
-i:表示交互式模式。即使容器以后台模式运行,也会保持 STDIN 打开,允许您向容器发送输入。
--name c2: 使用 --name 参数为容器指定一个名称,这里将容器命名为 "c2"。
-v /home/niyin/data/:/home/niyin/data/: 使用 -v 参数将本地主机上的 /home/niyin/data/ 目录挂载到容器内的 /home/niyin/data/ 目录。这样做可以使容器内的文件系统与主机上的文件系统进行共享或者持久化数据。
centos:7: 这是指定要运行的容器镜像。在这个命令中,使用的镜像是 centos:7,表示从 Docker Hub 上拉取名为 "centos"、标签为 "7" 的镜像来创建容器。
综上所述,这个命令的作用是以后台模式运行一个名为 "c2" 的容器,使用 CentOS 7 镜像,并将主机上的 /home/niyin/data/ 目录挂载到容器内的 /home/niyin/data/ 目录。

2.1数据卷相互共享

数据卷容器,此时我创建了一个c4和一个c6的容器,c4跟c6进行一个挂载,就相比于c4的数据卷容器里,装了一个c6
注意:分开执行

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

3.自定义镜像

3.1编辑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.2自定义tomcat

编辑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.

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

位运算第二弹

力扣191.位1的个数 public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int ret0;while(n!0){n(n&n-1);ret;}return ret;} } 推荐是自己去手动推一下,深刻理解一下,什么叫做最右侧的1。 力扣338.…

3694-51-7,3,5-Dinitro-1,2-phenylenediamine,合成其他化合物的重要中间体

您好,欢迎来到新研之家 文章关键词:3694-51-7,3,5-Dinitro-1,2-phenylenediamine,3,5-二硝基-1,2-苯二胺;3,5-二硝基苯-1,2-二胺 一、基本信息 【产品简介】:3,5-Dinitro-1,2-phenylenediamine, with the molecular…

MySql出现无法正常启动(0x000007b)的快速解决

目录 1.背景介绍 2.解决方案 1.背景介绍 昨天在清理电脑内存空间的时候,不小心将一些重要的系统组件删除,导致无法正常启动mysql,一开始是提示经过msvcp120.dll,于是找到下载dll的网站将组件补充进system,但随后又提…

【办公类-25-01】20240304 UIBOT上传 ”班级主页-信息窗“

一、背景需求: 本学期制作了 “信息窗主题说明”合并A4内容 【办公类-22-07】周计划系列(3-1)“信息窗主题知识(提取)” (2024年调整版本)-CSDN博客文章浏览阅读797次,点赞7次&…

渗压计使用中的常见问题及其解决方案

渗压计作为一种用于测量土壤或岩石中孔隙水压力的重要工具,在地质工程和水文学领域具有广泛的应用。然而,在实际使用过程中,渗压计可能会遇到多种常见问题,这些问题不仅影响测量精度,还可能对设备本身造成损害。本文将…

【力扣】207.课程表(图)

依旧还是有关于图的题目,这次不一样的点在于题目并没有明确的给出他是图的题目的形式,而是说让你根据其题目意思来进行操作。 首先,就是搞清楚题目的意思。假设你想学习A课程,那就是必须先学习B课程,但是这里给出的例…

消息队列+更新DB极易引发的DB并发修改bug

背景 我们在生产系统中和其他系统进行交互时一般都会通过消息队列来解耦生产者和消费者,然后通过每个使用方消费消息队列的消息的方式来完成消息的消费,并且一般来说我们消费消息后极有可能会操作DB,不过这种方式如果处理不够仔细&#xff0…

Linux——进程控制(一)进程的创建与退出

目录 一、进程创建 1.写时拷贝 2.创建多个进程 二、进程终止 1.main函数的返回值 2.bash中的$? 3.自定义退出码 4.C语言的错误码 5.错误码与退出码的区别 6.代码异常终止 7.exit函数 8.总结 一、进程创建 在之前,我们学过linux中的非常重要的函数——…

全网爆火的 MBTI 测试,是隐藏的割韭菜工具?

小伙伴们,谁能想到,作为一名冲浪老手,果子在网上又被骗了。 事情是这样的,前几天,我刷微博,看到一个推荐,大概如下图,是一个 MBTI 人格测试。 MBTI 测试,果子早就做过了…

【前端素材】推荐优质在线电影院商城电商网页Hyper平台模板(附源码)

一、需求分析 1、系统定义 在线电影商城是指一个通过互联网提供电影服务的平台,用户可以在该平台上浏览电影资源、租借或购买电影,以及观看在线影片。 2、功能需求 在线电影商城是指一个通过互联网提供电影服务的平台,用户可以在该平台上…

Windows Docker 部署 Redis

部署 Redis 打开 Docker Desktop,切换到 Linux 内核。然后在 PowerShell 执行下面命令,即可启动一个 redis 服务。这里安装的是 7.2.4 版本,如果需要安装其他或者最新版本,可以到 Docker Hub 中进行查找。 docker run -d --nam…

2.25_模式识别大作业的三种方法

filename sys.argv[1] df pd.read_csv(filename,index_col["ID"]) ax df.plot() ax.set_xlabel("Data_ID") ax.set_ylabel("load_value") plt.show() 这段代码是用来读取一个CSV文件,并将文件中的数据绘制成一个简单的折线图。 在…

lv20 QT 常用控件 2

1 QT GUI 类继承简介 布局管理器 输出控件 输入控件 按钮 容器 2 按钮示例 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QCheckBox> #include <QLineEdit> #include <QPushButton>class Widget : public QWidget {Q_OBJECTpublic…

【C语言】常见的动态内存管理错误

前言 上一篇介绍了C语言中 动态内存管理函数&#xff0c;本片讲解的是 在我们使用动态内存管理时 常见的错误&#xff0c;一起来看看吧~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 1.对NULL指针的解引⽤操作 错…

如何高效管理项目:从规划到执行

导语&#xff1a;项目管理是一项复杂而重要的工作&#xff0c;涉及多个方面&#xff0c;包括规划、执行、监控和收尾。本文将介绍如何高效管理项目&#xff0c;从规划到执行&#xff0c;帮助您成功完成项目目标。 一、项目规划 项目规划是项目成功的关键。在规划阶段&#xff0…

图片的处理库Thumbnailator

摘要&#xff1a;最近遇到图片处理的问题&#xff0c;借助了Thumbnailator库&#xff0c;记录下使用步骤如下…… 图片处理&#xff0c;JDK中也提供了对应的工具类&#xff0c;不过处理较麻烦&#xff0c;Thumbnailator 是Google一个 开源Java 图像处理库&#xff0c;用于简化 …

力扣:35. 搜索插入位置

力扣&#xff1a;35. 搜索插入位置 描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,…

MySQL5.7.44版本压缩包在Win11系统快速安装

一.背景 主要还是为了公司的带徒弟任务。我自己也喜欢MySQL的绿色版本。 1.软件版本说明 MySQL版本&#xff1a;5.7.44 压缩包版本&#xff0c;相当于绿色版。当然&#xff0c;你也可以使用window系统的Installer版本去安装。 操作系统&#xff1a;Win11家庭版 二.MySQL软…

MYSQL--JDBC*

一.介绍: 1.JDBC是一种用于执行SQL于语句的JAVA API,JDBC是一种使用JAVA访问数据库的执行规范标准,能够为不同的数据库提供统一的访问!由一组使用JAVA语言编写的接口以及类组成的 2.JDBC核心的类以及相关的接口主要有: DriverManager 注册驱动 Connection 使用…

期货开户坚持固定的盈利模式

1、超级操盘手比的往往不是技术&#xff0c;而是素质。成功的交易者有着一种与众不同的品质&#xff0c;他们拥有正确的思维方式&#xff0c;严谨的交易态度&#xff0c;强烈的自信心、果敢&#xff0c;和面对失败永不言败的精神&#xff0c;即使在系统最困难的时候&#xff0c…