gpt4 book ai didi

docker - 进入由docker创建的卷

转载 作者:行者123 更新时间:2023-12-02 18:38:11 25 4
gpt4 key购买 nike

我是Docker的新手。从名为Packt Publishing的《学习Docker 18.x的基础知识》一书中学习。在“Docker卷”一章中,作者使用docker-machine创建了一个虚拟机,然后创建了一个名为my-data的卷。我已经在第一个终端窗口中执行了以下命令:

ssh into default docker-machine and create my-data volume and cd into it by elevating myself to sudo

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

Volume Mounted and created a data.txt file

当我尝试在第一个终端窗口中列出该卷中的文件时,我什么也没得到。

所以我的理解是

  • 在docker中创建卷。
  • 将卷安装在容器中。
  • 创建一些数据。
  • 退出容器。并且数据将存在。

  • 我还注意到, docker 卷检查我的数据提供了不同的安装点:

    Mount point in first terminal window
    Mount point in second terminal window

    据此我理解它们是不同的卷,对吗?

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

    我也想知道如何从Mac终端导航到该位置?

    提前致谢。

    最佳答案

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

    理想情况下,您希望配置主机以在执行任何docker命令时与docker-machine通信。从docs:

     $ 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)"

    否则,您对Docker卷的理解是正确的。 Docker卷是由Docker创建和管理的-这意味着它们的物理位置可以在Docker主机内更改。但是卷中的数据将始终保留,直到您将其删除。根据 docs:

    When you create a volume, it is stored within a directory on the Docker host. When you mount the volume into a container, this directory is what is mounted into the container.

    关于docker - 进入由docker创建的卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51693172/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com