작성
·
146
0
안녕하세요 docker 관련 공부를 하는 중에 질문이 생겨서 글 남깁니다
우선 A서버, B서버가 있습니다.
B서버에서 따로 image pull 없이 docker의 기본 경로를 A서버를 바라보게 하고
A서버의 docker image를 B서버에서도 run이 가능하도록 설정이 가능할까요?
그리고 A서버의 image를 B 또는 C에서 commit하고 다른 곳에서 다시 image를 run해도 그 이미지가 그대로 commit 된 채로 남아 있는 것이 가능할까요?
이해를 돕고자 그림 첨부합니다.
설정하는 방법 중 tar, local repository 사용 없이 하고자 합니다.
/etc/docker/daemon.json 파일도 수정해보면서 시도해봤는데 실패하고 있어
제가 모르는 방법이 있는건지 아니면 이렇게 설정을 하는 것이 불가능한 것인지 모르겠네요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Docker123님, 서로 다른 서버에서 도커 이미지를 공유하는 것에 대해 문의하셨군요.
A서버의 도커 이미지를 B서버에서 pull 없이 사용하려면 몇 가지 방법이 있지만, 주로 사용되는 방법은 프라이빗 Docker 레지스트리를 설정하여 이미지를 관리하는 것입니다. 하지만 docker123님께서는 tar나 로컬 레지스트리 설정 없이 진행하길 원하신다고 하셨고, /etc/docker/daemon.json
파일을 수정해봐도 안 되었다고 하셨네요.
저희가 제공하는 정보에는 이러한 설정을 하는 구체적인 방법이 명시되어 있지 않습니다만, 일반적으로 A서버의 이미지를 B서버에서 사용하려면 다음과 같은 절차를 따릅니다:
하지만 이 방법은 docker123님께서 원치 않으시는 방법입니다. 원격 Docker 데몬에 직접 접근하거나, 레지스트리 없이 이미지를 공유할 수 있는 방법은 Docker의 표준 기능 범위를 벗어납니다.
원격의 이미지를 직접 사용하는 것이 불가능하지는 않지만, 보안 문제, 네트워크 설정 복잡도 증가 등 여러 문제가 있어 이러한 설정을 추천드리기 어렵습니다.
또한 이미지를 commit 하여 변경된 상태를 유지하는 것에 대해서도, 변경된 이미지를 도커 레지스트리에 push 한 후에 필요한 서버에서 pull하여 사용하는 것이 일반적인 방법입니다.
더 구체적인 해결 방법을 찾기 위해서는 추가적인 도커 레지스트리 설정, 네트워크 설정, 도커 데몬 설정에 관한 심층적인 지식이 필요할 것으로 보입니다.