"docker cp" all files from a folder to existing container folder

Am I missing something when I try to copy files from one folder to a existing container folder:

Doc

I want to copy files within the build(host) folder to html in my container:

docker cp ./src/build b081dbbb679b:/usr/share/nginx/html

To be clear; I need to copy from host to container.

But it copies the whole build folder and copies it to ..html/build

I just need the files(and sub folders) within the build folder to be copied into ..html.

Am I missing something or do I have to copy each file one by one?


Here is the explanation from the doc on how to use the cp command in docker, which will fix your issue with /. at the end of SRC_PATH:

  • SRC_PATH does not end with /. (that is: slash followed by dot)

    • the source directory is copied into this directory
  • SRC_PATH does end with /. (that is: slash followed by dot)

    • the content of the source directory is copied into this directory

Copy files/folders between a container and the local filesystem is like below formats:

  • Copy file to folder inside container:

    docker cp ./src/build/index.html ContainerName:/app/
    

    above example shows index.html file is copying to app folder inside container

  • Copy all files to folder inside container:

    docker cp ./src/build/. ContainerName:/app/
    

    above example shows all files inside build folder are copying to app folder inside container