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/479674

相关文章

虚拟机与物理机的文件共享方式

《虚拟机与物理机的文件共享方式》文章介绍了如何在KaliLinux虚拟机中实现物理机文件夹的直接挂载,以便在虚拟机中方便地读取和使用物理机上的文件,通过设置和配置,可以实现临时挂载和永久挂载,并提供... 目录虚拟机与物理机的文件共享1 虚拟机设置2 验证Kali下分享文件夹功能是否启用3 创建挂载目录4

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,