내 시스템의 현재 상태에 대한 도커 이미지를 만들고 싶습니다.여기, 사용 방법을 찾았습니다.디버깅 도구이미지 생성:
$ sudo debootstrap focal focal > /dev/null
$ sudo tar -C focal -c . | docker import - focal
debootstrap 문서에 따르면:
debootstrap [OPTION...] SUITE TARGET [MIRROR [SCRIPT]]
debootstrap bootstraps a basic Debian system of SUITE into TARGET from
MIRROR by running SCRIPT. MIRROR can be an http:// or https:// URL, a
file:/// URL, or an ssh:/// URL., a file:///(...)
저는 운영 체제 전문가가 아니기 때문에 이 도구가 예상대로 작동하는지 모르겠습니다. 모든 시스템을 복제하려고 순진하게 다음을 시도했습니다.
sudo debootstrap / my_system > /dev/null
파일이 승인되었으므로 "/"가 내 루트 디렉토리를 나타내고 모든 것이 debootstrap에서 사용되기를 바랍니다. 작동하지 않습니다. 방금 debootstrap이라는 하위 폴더와 다음 내용이 포함된 debootstrap.log라는 파일이 포함된 my_system이라는 폴더를 생성했습니다.
/usr/sbin/debootstrap: 484: : 권한이 거부되었습니다.
이 작업을 수행하는 방법에 대한 팁이나 현재 설치의 Docker 이미지를 생성하기 위한 더 나은 도구에 대한 제안이 있습니까?
XY 질문에 대한 Virsacer의 의견 편집: 컨텍스트 추가: 내 시스템에서 도커 이미지를 생성해야 하는 이유는 주어진 프로젝트가 내 손에 넘어갔고 프로젝트를 빨리 이해해야 하기 때문입니다. 나의 주요 아이디어는 새로운 구현을 테스트하고 일반적으로 혼란 없이 수정할 수 있도록 프로젝트의 운영 환경을 시뮬레이션하는 환경을 만드는 것입니다.
내 일을 어렵게 만드는 세 가지 주요 요인은 다음과 같습니다.
1 - 단순한 코드 세트가 아닙니다. 운영 환경 자체는 내부에서 제조된 하드웨어를 제어하고 모니터링하도록 설계되었으므로 프로젝트의 일부입니다.
2 - 잘 문서화되어 있지 않습니다. 전체 프로젝트에 대해 어떤 서비스를 실행해야 하는지, 어떤 환경 변수를 설정해야 하는지 등에 대한 세부 정보는 거의 알지 못합니다.
3 - 현재 가지고 있는 유일한 테스트 환경은 이미 사용하고 있는 환경이므로 테스트가 매우 제한적이며 현재 작업에 영향을 미치지 않습니다.
시뮬레이션 환경을 구축하기 위해 두 가지 전략을 고려했습니다.ISO 이미지 만들기시스템을 만들고 시스템의 도커 이미지를 만듭니다.
ISO 이미지를 만드는 것이 가능해 보이지만 저는 1 - 새로운 것을 배울 수 있는 기회를 갖고 2 - 두 가지 다른 작업 방식으로 환경을 만드는 중복성을 갖고 싶었습니다. 3 - 필요할 때 환경을 복제하기 위한 보다 이식성 있는 방법으로 컨테이너를 사용하십시오.
그래서 저는 이미지를 만들고, 프로젝트에 필요하지 않은 모든 것을 지속적으로 제거하고, 테스트하고, 테스트가 성공하면 새롭고 가벼운 이미지를 만드는 것에 대해 생각했습니다.