Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将cd放入docker创建的卷中_Docker - Fatal编程技术网

将cd放入docker创建的卷中

将cd放入docker创建的卷中,docker,Docker,我是新来的码头工人。从Packt Publishing的《学习Docker 18.x的基本原理》一书中学习。在Docker Volume一章中,作者使用Docker machine创建了一个vm,然后创建了一个名为my data的卷。我已在第一个终端窗口中执行以下命令: 然后作者使用-v命令创建一个装载该卷的容器。我已在第二个终端窗口中执行以下命令: 当我尝试在第一个终端窗口中列出该卷中的文件时,我一无所获 所以我的理解是 在docker中创建卷 将卷装入容器中 创建一些数据 退出容器。数据

我是新来的码头工人。从Packt Publishing的《学习Docker 18.x的基本原理》一书中学习。在Docker Volume一章中,作者使用Docker machine创建了一个vm,然后创建了一个名为my data的卷。我已在第一个终端窗口中执行以下命令:

然后作者使用-v命令创建一个装载该卷的容器。我已在第二个终端窗口中执行以下命令:

当我尝试在第一个终端窗口中列出该卷中的文件时,我一无所获

所以我的理解是

  • 在docker中创建卷
  • 将卷装入容器中
  • 创建一些数据
  • 退出容器。数据将被呈现出来
  • 我还注意到docker volume inspect my data提供了不同的装载点:

    我知道他们是不同的卷,对吗

    但我在卷中没有看到任何数据。我的理解正确吗?有人能给我解释一下docker中的卷是如何工作的吗

    我也想知道如何从我的Mac终端导航到这个位置


    提前感谢。

    您正在运行
    docker machine
    ,它实际上在主机上创建了一个安装了docker守护程序的虚拟机。在其中运行
    docker volume create
    时,它会在vm中创建卷。我怀疑您可能正在docker机器外部运行docker命令,但您已经在docker机器内创建了卷,这就是为什么它们看起来是不同的卷

    理想情况下,您希望将主机配置为在执行任何docker命令时与docker机器对话。从:

    $docker机器环境默认值
    导出DOCKER\u TLS\u VERIFY=“1”
    导出DOCKER_主机=”tcp://172.16.62.130:2376"
    导出DOCKER\u CERT\u PATH=“/Users//.DOCKER/machine/machines/default”
    导出DOCKER\u MACHINE\u NAME=“默认”
    #运行此命令以配置shell:
    #eval“$(docker机器环境默认值)”
    
    否则,您对docker卷的理解是正确的。Docker卷由Docker创建和管理,这意味着它们在Docker主机中的物理位置可以更改。但卷中的数据将始终保持不变,直到您将其删除。根据报告:

    创建卷时,它存储在Docker主机上的目录中。将卷装入容器时,此目录就是装入容器的目录


    非常感谢。是的,我正在虚拟机内创建卷。但是在外面执行命令。
     $ docker-machine env default
     export DOCKER_TLS_VERIFY="1"
     export DOCKER_HOST="tcp://172.16.62.130:2376"
     export DOCKER_CERT_PATH="/Users/<yourusername>/.docker/machine/machines/default"
     export DOCKER_MACHINE_NAME="default"
     # Run this command to configure your shell:
     # eval "$(docker-machine env default)"