Как скопировать и извлечь файл .tar внутри контейнера Docker - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть сценарий, в котором мне нужно скопировать файл .tar в Docker-контейнер и извлечь содержимое в определенную папку внутри контейнера.Так есть ли у нас какие-либо конкретные команды для обработки этого сценария?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Есть несколько вариантов, в зависимости от вашего конкретного случая использования:

1.Директива COPY внутри Dockerfile

См. документацию , эта команда позволяет вам скопировать файл с хоста в ваше изображение по указанному пути.Поэтому каждый раз, когда появляется новый контейнер, он будет там (очевидно, как часть изображения).

2.Монтирование тома

Если вы хотите передать ваш файл .tar в определенный контейнер, вы можете смонтировать том, исходящий от вашего хоста (или создать его явно , используя docker volume create из вашего CLI), используя--mount или -v такие команды:

$ docker run \
  --name mycontainer \
  --mount source=/path/to/folder/containing/tar/file,target=/target \
  myimage

После этой операции /path/to/folder/containing/tar/file будет доступен для контейнера в /target, поэтому вы можете использовать файл по пути /target/myfile.tar

Я бы посоветовал эту опцию, так как это более настраиваемый подход.

0 голосов
/ 07 февраля 2019

Просто используйте инструкцию ADD в Dockerfile.Вот пример:

FROM ubuntu:18.04

ADD ./file.tar /root/

CMD "/bin/bash"

А потом:

docker run -it --rm ubuntu:test
root@a6ce756694a1:/# ls /root/
test.file
root@a6ce756694a1:/#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...