Я пытаюсь получить доступ к файлу докера без запуска, я просто хочу знать, что он содержит для проверки. Я не могу войти в контейнер, так как он заканчивается всего на секунду, поэтому мне нужно исследовать изображение, а не контейнер. или Есть ли в любом случае доступ к контейнеру до его завершения?Как получить изображение докера?
1
A
ответ
1
Это довольно обременительно фактически исследовать изображение. Вывод команды docker save
не очень дружелюбен. Вам лучше работать с контейнером. Но вам не нужно запустить контейнер для этого.
Вы можете использовать команду docker create
с несколькими другими, чтобы исследовать контейнер, не запуская ее:
docker pull alpine
docker create --name foo alpine false
docker export foo | # Export the entire filesystem as a tape archive
tar -tf- | # Use tar to output the names of files
less # pipe to less to page the output
Если вы хотите проверить один файл, вы можете использовать docker cp
, например так:
docker cp foo:etc/passwd - | tar -xO | head -n3
root:x:0:0:root:/root:/bin/ash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
Вы можете действительно уйти без использования конвейера в последнем заявлении; вы получите кусок смолы вверху, но это не имеет значения, если вы просто изучаете.
1
Понял, вот команда:
docker run -i -t image/container /bin/bash
Возможный дубликат [Изучение файловой системы контейнера Docker] (http://stackoverflow.com/questions/20813486/exploring-docker-containers-file-system) –
Не совсем дубликат, поскольку я пытался исследовать изображение а не контейнер. – Grat
Возможный дубликат [Как получить доступ к файловой системе файловой системы докера] (http://stackoverflow.com/questions/32383487/how-to-access-an-dockers-image-file-system) –