Maison  >  Questions et réponses  >  le corps du texte

如何从本机传送一个目录到docker image中

通过build docker image 添加文件时,需要用到ADD或COPY关键字,但是ADD或COPY后面跟的只能是相对于Dockerfile文件所在的目录的路径的目录或文件,有没有一种方法可以通过绝对路径来传送目录或文件?(貌似docker里面有一个cp命令,但是只能从container中复制文件或目录到本机中,并不能从本机到container中。(为什么??))

伊谢尔伦伊谢尔伦2761 Il y a quelques jours724

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-04-21 11:17:18

    Vous pouvez utiliser la fonction de volume de données pour monter le répertoire hôte dans le conteneur

    répondre
    0
  • 黄舟

    黄舟2017-04-21 11:17:18

    1. Les commandes ADD et COPY du Dockerfile ne peuvent pas utiliser de chemins absolus, uniquement des chemins relatifs. Ceci est clairement indiqué dans la documentation officielle https://docs.docker.com/reference/builder/#add.

      Plusieurs ressources peuvent être spécifiées, mais s'il s'agit de fichiers ou de répertoires, elles doivent être relatives au répertoire source en cours de construction (le contexte de la construction).

    2. Si vous n'avez pas besoin de créer le fichier dans l'image, vous pouvez charger/partager le fichier ou le répertoire hôte dans le conteneur via le paramètre -v lors de l'exécution du conteneur. Référence https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-21 11:17:18

    La commande cp de Docker peut copier hors du conteneur ou copier le conteneur depuis la machine locale.

    docker cp more.log e7de404c00bd:/tmp/

    docker help cp
    
    Usage:    docker cp [OPTIONS] CONTAINER:PATH LOCALPATH|-
        docker cp [OPTIONS] LOCALPATH|- CONTAINER:PATH
    
    Copy files/folders between a container and your host.
    Use '-' as the source to read a tar archive from stdin
    and extract it to a directory destination in a container.
    Use '-' as the destination to stream a tar archive of a
    container source to stdout.

    répondre
    0
  • Annulerrépondre