热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker学习基础篇6docker容器数据卷dockerfile案列

自定义镜像mycentos1.案例1自定义mycentos(1)在宿主机根目录进入mydocker创建文件Dockerfile2输入vim内容FROMcentosMAINTA

 

自定义镜像mycentos

 

1.案例1自定义mycentos

(1)在宿主机根目录进入 mydocker 创建文件Dockerfile2

 

输入vim内容

FROM centos
MAINTAINER seak<274882401&#64;qq.com>ENV MYPATH /usr/local
RUN yum -y install vim
RUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATH
CMD echo "success-----------------ok"
CMD /bin/bash

(2).构建

 

 

指定对应的目录创建centos1.3的容器

docker build -f /root/mydocker/Dockerfile2 -t mycentos:1.3 .

最后可以看见创建成功中间有红色的警告可以忽略

可以看到我们dockerfile脚本创建的mycentos镜像比原来的centos大一些&#xff0c;那是应为脚本里面安装了vim 和net-tools工具

(3)查看镜像历史变更

 

2.案例2

&#xff08;1&#xff09;CMD命令

ls -l命令会将tomcat的启动命令替换掉&#xff0c;所以tomcat会是没有启动的状态

tomcat源文件的最后一行命令是启动命令&#xff08;可以vim编辑查看&#xff09;

 

 

&#xff08;2&#xff09;ENTRYPOINT命令

创建一个Dockerfile3文件和Dockerfile4文件

Vim中Dockerfile3为CMD命令&#xff0c;Dockerfile4为ENTRYPOINY

使用CMD和ENTRYPOINT分别构建mydocke3&#xff0c;mydocker4

分别运行他们&#xff0c;都可以跑

当我们想要看请求头加参数时

vim文件&#xff08;Dockerfile3&#xff09;为cmd的bdcentos3会进行覆盖所以无法展示出头信息

 

vim文件&#xff08;Dockerfile4&#xff09;为ENTRYPOINT,则就会自动追加参数访问成功

 

3.案例3

 

创建一个Dockerfile5文件&#xff0c;Dockerfile5为ENTRYPOINY&#xff0c;并使用ONBUILD

vim文件内容&#xff1a;

FROM centos
RUN yum install -y curl
ENTRYPOINT ["curl", "-s", "http://www.baidu.com"]
ONBUILD RUN echo "father onbuild -----8868"

cp Dockerfile5 变为Dockerfile6&#xff0c;并将vim内容修改为

#去继承onbuild父类里面的构建方法了
FROM onbuild1
RUN yum install -y curl
ENTRYPOINT ["curl", "-s", "http://www.baidu.com"]

进行构建Dockerfile6&#xff0c;会触发构建器trigger&#xff08;继承父类onbuild里面的方式&#xff09;

 

4.案例4的&#xff08;自己做一个tomcat9&#xff09;

 


推荐阅读
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • 在安装并配置了Elasticsearch后,我在尝试通过GET /_nodes请求获取节点信息时遇到了问题,收到了错误消息。为了确保请求的正确性和安全性,我需要进一步排查配置和网络设置,以确保Elasticsearch集群能够正常响应。此外,还需要检查安全设置,如防火墙规则和认证机制,以防止未经授权的访问。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • ARM汇编基础基于Keil创建STM32汇编程序的编写
    文章目录一、新建项目(1)工具介绍(2)创建项目:二、配置环境(1)配置芯片&#x ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文详细解析了Java类加载系统的父子委托机制。在Java程序中,.java源代码文件编译后会生成对应的.class字节码文件,这些字节码文件需要通过类加载器(ClassLoader)进行加载。ClassLoader采用双亲委派模型,确保类的加载过程既高效又安全,避免了类的重复加载和潜在的安全风险。该机制在Java虚拟机中扮演着至关重要的角色,确保了类加载的一致性和可靠性。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
author-avatar
鱼儿玩玩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有