62
задан 23 May 2017 в 14:47

3 ответа

Ответ на мой собственный вопрос.. все еще надеясь на лучший ответ от более хорошо осведомленного человека!!

существует 2 возможности.

1) файловая система Редактирования на хосте непосредственно . Это несколько опасно и имеет шанс завершенного повреждения контейнера, возможно другие данные в зависимости от того, что идет не так, как надо.

2) Изменение сценария запуска к чему-то, что никогда не перестало работать как запуск удара, выполнение фиксирования/редактирования и затем изменение программы запуска снова к желаемой (как узел или независимо от того, что это было прежде).

[еще 1128] детали:

1) Используя [1 113]

docker ps

, чтобы найти, что рабочие контейнеры или

docker ps -a

находят все контейнеры (включая остановленные) и

docker inspect (containername)

, ищут "идентификатор", одно из первых значений.

Это - часть, которая содержит деталь реализации и могла бы измениться, знать, что можно потерять контейнер этот путь.

Переходят в [1 118]

/var/lib/docker/aufs/diff/9bc343a9..(long container id)/

, и там Вы найдете все файлы, которые изменяются к изображению, на котором контейнер основан. Можно перезаписать файлы, добавить или отредактировать файлы.

Снова, я не рекомендовал бы это.

2), Как описан в https://stackoverflow.com/a/32353134/586754, можно найти конфигурацию json config.json в пути как [1 121]

/var/lib/docker/containers/9bc343a99..(long container id)/config.json

Там, можно изменить args от, например, "nodejs app.js" к "/bin/bash". Теперь перезапустите услуги докера и запустите контейнер (необходимо видеть, что это теперь правильно запускает). Необходимо использовать

docker start -i (containername)

, чтобы удостовериться, что это немедленно не выходит. Можно теперь работать с контейнерным и/или более поздним присоединением с [1 123]

docker exec -ti (containername) /bin/bash

кроме того, CP докера довольно полезно для копирования файлов, которые были отредактированы за пределами контейнера.

кроме того, нужно только отступить к тем мерам, если бы контейнер более или менее "потерян" так или иначе, таким образом, любое изменение было бы улучшением.

50
ответ дан 31 October 2019 в 13:58

У меня была проблема с контейнером, который не запустится из-за плохого изменения конфигурации, которое я внес. Я смог скопировать файл из остановленного контейнера и отредактировать его. что-то как:

docker cp docker_web_1:/etc/apache2/sites-enabled/apache2.conf .

(исправляют файл)

docker cp apache.conf docker_web_1:/etc/apache2/sites-enabled/apache2.conf
63
ответ дан 31 October 2019 в 13:58

Можно отредактировать контейнерную файловую систему непосредственно, но я не знаю, является ли это хорошая идея. Сначала необходимо найти путь каталога, который используется, поскольку время выполнения поддерживает контейнер. Выполненный docker container inspect id/name. Ищите ключ UpperDir в выводе JSON.

, Который является Вашим каталогом.

4
ответ дан 31 October 2019 в 13:58

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

Похожие вопросы: