>  Q&A  >  본문

docker里的修改无法保存

通过

docker run -it debian bash

进入的交互式镜像,结果每次的修改都没有自动保存。我记得是有这个功能的啊。。
就算不commit,进去的时候,做过的修改应该也保存了啊。。
debian 8
docker 1.10

阿神阿神2758일 전1115

모든 응답(4)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:11:31

    저장되지 않는 것은 아니지만 이 명령을 실행할 때마다 새로운 컨테이너가 생성되며 docker ps -l 명령을 통해 확인할 수 있습니다. docker Attach 컨테이너 ID를 통해 컨테이너를 다시 입력할 수 있습니다. 명령을 실행하면 원본 콘텐츠가 여전히 존재하는 것을 볼 수 있습니다.

    회신하다
    0
  • PHPz

    PHPz2017-04-24 09:11:31

    컨테이너에서 docker가 수정한 모든 내용을 커밋해야 이미지에 다시 수정할 수 있습니다.

    docker run -idt를 사용하여 컨테이너를 실행하고 백그라운드에 정지시키거나 docker run -it을 컨테이너에 들어간 후 사용할 수 있습니다. 종료하려면 exit를 사용하지 말고, control+p, control+q를 사용하여 컨테이너를 중지하세요. 백그라운드에서 계속 실행됩니다.

    docker run -idt debian bash

    그런 다음 docker Attach 또는 docker exec를 사용하여 컨테이너에 들어가서 수정하는 것이 좋습니다. exec는 다른 프로세스를 열어 컨테이너에 들어가므로, 종료를 사용하여 종료해도 계속 실행되는 컨테이너에 영향을 주지 않습니다. 배경은 다음과 같습니다.

    docker exec -it [컨테이너 ID] bash
    docker attachment [컨테이너 ID]

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-24 09:11:31

    위 답변은 모두 맞지만, Attach 명령을 사용하지 않는 것이 좋습니다. 컨테이너에 들어가 변경 사항을 보려면 exec를 사용하는 것이 좋습니다. 연결 명령을 종료하면 컨테이너가 종료되기 때문입니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-24 09:11:31

    컨테이너는 커밋되지 않으며 디렉터리가 로컬 파일에 매핑되지 않는 한 다시 시작한 후에 변경 사항이 손실됩니다.

    회신하다
    0
  • 취소회신하다