Docker3 [Docker] COPY : 파일 복사 COPY Docker의 COPY 명령어는 호스트 컴퓨터의 파일이나 디렉토리를 Docker 이미지 안으로 복사할 때 사용된다. ⚠️ COPY의 기본 규칙 1️⃣ COPY는 Docker 빌드 컨텍스트 내의 파일만 복사할 수 있다.Docker 빌드를 실행할 때, 사용자가 지정한 디렉토리가 "빌드 컨텍스트"가 된다.COPY와 ADD 명령어는 이 컨텍스트 내부에 존재하는 파일이나 디렉토리만 참조할 수 있다. 2️⃣ 컨텍스트 외부 경로(`../` 등)는 사용할 수 없다.보안과 일관성을 위해 Docker는 반드시 컨텍스트 외부 경로에 접근을 제한한다.이러한 규칙이 존재하는 이유는 호스트 시스템의 민감한 정보(ex. ~/.ssh, ../secrets 등)가 실수로 Docker 이미지에 포함되는 것을 막기 위해 존재한.. 2025. 5. 8. [Docker] Docker 컨테이너 종료 문제와 디버깅 방법 다음은 OpenJDK 17 이미지를 기반으로 작성된 Dockerfile이다.// 수정 전 DockerfileFROM openjdk:17-jdk 위 도커 파일을 다음 명령어를 통해 빌드 후, 컨테이너를 실행한다.// docker build -t docker build -t test .docker run -d test 컨테이너를 실행한 후, 컨테이너 내부로 접근하기 위해 다음 명령어를 입력한다.// docker exec -it docker exec -it test 해당 명령어를 실행하면 다음 에러가 발생한다. 그 이유는 컨테이너 특성상 명령어 처리가 끝나는대로 컨테이너가 종료되기 때문이다. 그러다보니 내부적으로 어떻게 컨테이너가 형성되었는지 디버깅에 어려움을 겪게 된다.이 경우, 다음 방법을 통해 일시적.. 2025. 5. 8. [Docker] 도커 볼륨(Docker Volume) 컨테이너가 가진 문제점Docker를 사용하면 특정 프로그램을 컨테이너로 띄울 수 있다. 이 프로그램에 기능이 추가되면 새로운 이미지를 만들어 컨테이너를 실행시켜야 하는데 Docker는 기존 컨테이너에서 변경된 부분을 수정하지 않고, 새로운 컨테이너를 만들어서 교체하게 된다. 이렇게 기존 컨테이너를 새 컨테이너로 교체하게 되면, 기존 컨테이너 내부에 있던 데이터도 같이 삭제된다.따라서 컨테이너 내부에 저장된 데이터가 유지되어야 하는 경우, 볼륨(Volume)을 사용하면 된다. 도커 볼륨(Docker Volume)도커에서 볼륨(Volume)이란 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법이다. 볼륨(Volume)은 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서.. 2025. 5. 7. 이전 1 다음