Ответ 1
Вы должны создать файл Docker для установки CMD
или ENTRYPOINT
. Просто установите Dockerfile на идентификатор изображения, возвращенный docker commit
. Например, учитывая это:
$ docker commit $(docker ps -lq)
69e9c08825508ec780efc86268a05ffdf4edae0999a2424dbe36cb04c2a15d6b
Я мог бы создать файл Docker, который бы выглядел так:
FROM 69e9c08825508ec780efc86268a05ffdf4edae0999a2424dbe36cb04c2a15d6b
CMD ["/bin/bash"]
И затем используйте это для создания нового изображения:
$ docker build .
Step 0 : FROM 69e9c08825508ec780efc86268a05ffdf4edae0999a2424dbe36cb04c2a15d6b
---> 69e9c0882550
Step 1 : CMD /bin/bash
---> Running in f886c783551d
---> 13a0f8ea5cc5
Removing intermediate container f886c783551d
Successfully built 13a0f8ea5cc5
Тем не менее, ваш лучший способ действий, вероятно, не вносить изменения в контейнер, а затем использовать Docker commit; вы в конечном итоге получаете гораздо более проверенный набор изменений, если вы просто полагаетесь на файл Docker для внесения необходимых изменений в первую очередь.