작성
·
299
·
수정됨
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. 도커 이미지 빌드 시 내부 도커를 사용하는 것은 가능합니다. 하지만 도커 데몬 소켓을 바인딩하고자 하는 경우에는 보안상의 이유로 실행이 제한될 수 있습니다. 컨테이너의 실행 환경에서 도커 데몬을 사용할 수 있는 권한을 제공하거나 호스트 머신의 도커 데몬에 접근할 수 있는 권한을 설정해야 합니다.
도커파일의 RUN 명령어에서 컨테이너가 실행되지 않는 이유는 도커 데몬이 실행되지 않기 때문입니다. 따라서 다음과 같은 방법들을 고려해볼 수 있습니다.
호스트의 도커 데몬을 컨테이너에서 접근할 수 있도록 설정해보세요. 이는 호스트 머신의 도커 데몬에 접근할 수 있는 권한을 부여하는 것입니다. 필요한 권한은 Docker Socket (/var/run/docker.sock)에 대한 읽기/쓰기 권한입니다. 이를 위해서는 컨테이너를 실행할 때 -v /var/run/docker.sock:/var/run/docker.sock
옵션을 추가하여 도커 소켓을 마운트해주면 됩니다.
컨테이너 내부에서 도커를 실행하는 대신, 호스트 머신에서 도커를 사용할 수 있도록 커맨드를 실행해보세요. 이를 위해서는 컨테이너 내부에서 호스트 머신에 접근할 수 있어야 합니다. 따라서 도커 이미지 빌드 시에 -v /var/run/docker.sock:/var/run/docker.sock
옵션을 추가하여 도커 소켓을 마운트해주고, 커맨드를 실행할 때 docker
명령어를 사용하면 됩니다.
다양한 방법을 시도해보며 테스트를 진행해보세요. 만약 여전히 문제가 있다면, 구체적인 구성이나 에러 메시지를 알려주시면 더 정확한 도움을 드릴 수 있을 것 같아요. 수고하세요!