Как загрузить файл в 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
?
Благодарю.