Как загрузить файл в WORKDIR в Docker-контейнере через удаленный API

Я пытаюсь создать образ докера через API удаленного докера, и я застрял COPYПри загрузке файлов и каталогов с хост-машины в докер-контейнер, это мой случай:

У меня есть Dockerfile со следующими командами, и я пытаюсь эмулировать его поведение через удаленный API

# ...
FROM img:tag
WORKDIR /app
COPY . .
# ...

какие docker build делает, чтобы расширить происхождение DIR (первый .) в текущий путь, и он принимает целевой каталог (второй .) как относительный путь к WORKDIR внутри контейнера. Теперь, если я пытаюсь сделать то же самое через удаленный API, я должен сделать следующие запросы

# creates container and generates a ContainerId
POST /containers/create {"Image": "img:tag"}

# starts ContainerId
POST /containers/#{container_id}/start

# generates an ImageId
POST /commit?container=#{container_id}

# creates container from the created image and generates a ContainerId2
POST /containers/create {"Image": ImageId, "WorkingDir": "/app"}

# starts ContainerId2
POST /containers/#{container_id}/start

# generates an ImageId2 with WORKDIR as /app
POST /commit?container=#{container_id}

# creates container from the created image and generates a ContainerId3
POST /containers/create {"Image": ImageId2}

# starts ContainerId3
POST /containers/#{container_id}/start

# uploads a tar file to a "relative" path from WORKDIR
PUT  /containers/#{container_id}/archive?path=. <TAR FILE>

все работает но не последняя строка, файл tar добавлен в / (корневой путь), а не к WORKDIRКак я могу сделать это добавить файл tar к пути относительно WORKDIR?

Благодарю.

0 ответов

Другие вопросы по тегам