Docker笔记:数据卷挂载的三种方式及物理机与容器内的环境变量的传递

本文主要是介绍Docker笔记:数据卷挂载的三种方式及物理机与容器内的环境变量的传递,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

容器数据挂载到物理机上的三种方式

1 ) 实名(指定路径)挂载数据卷

  • docker run -v 物理机目录:容器内目录 镜像id
  • 示例
    • docker run -it -d --name mynginx_p_v -p 82:80 -v /root/www:/usr/share/nginx/html nginx
    • 此时访问 会报 403 forbidden
    • 因为 物理机上的 root/www 中是没有东西的,所以403
    • touch root/www/index.html 并写一些东西进去
    • 再次访问就行了
  • 查看容器内信息:
    • docker inspect 容器Id | grep www
  • 这种用法的最多的,清晰方便的管理

2 )匿名(自动分配)挂载数据卷

  • docker run -v 容器内目录 镜像ID
  • docker volume ls 可以看到 数据卷的列表
  • docker inspect 容器ID | grep volume 可查看到当前数据卷在哪个目录中
  • 这种在具体项目中,也可以使用,也就是对存储位置要求不严格

3 )具名挂载数据卷

  • docker run -v 卷名称:容器内目录 镜像ID
    • 这个和匿名挂载非常相似
    • 这个卷名称是指定的
  • docker volume ls
    • 可看到具名挂载的数据卷信息
  • docker inspect 容器ID | grep volume
    • 可看到这个具名数据卷的具体信息
    • 这种基于卷名称自主设定的数据卷挂载比匿名挂载的好处是名称上的简洁和好认
    • 匿名挂载产生的是一长串的随机hash字符串

以上,三种方式挂载后,在物理机或容器内操作,都会互相同步数据

运行容器时传递的环境变量

  • docker run -e 变量名=变量值 镜像ID/镜像NAME
  • 举例
    • docker run -it centos printenv 这时候打印的都是系统变量
    • docker run -it -e TEST_ENV=sssss centos printenv 这样就多打印出了新加的这个变量
    • docker run -it -e TEST_ENV=sssss -e NNN_ENV=dddd centos printenv 这样可以传递多个环境变量
  • 习惯上,传递的变量名都是大写

这篇关于Docker笔记:数据卷挂载的三种方式及物理机与容器内的环境变量的传递的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I