DockerfileDocker 이미지를 만들게 해주는 파일 FROM : 베이스 이미지 생성FROM베이스 이미지를 생성하는 역할Docker 컨테이너를 특정 초기 이미지(베이스 이미지)를 기반으로 추가적인 셋팅 가능사용법FROM [이미지명]FROM [이미지명]:[태그명]태그명 없으면latest(최신) 버전 사용 종료된 컨테이너에 접속해서 디버깅하고 싶을 때Dockerfile에 해당 명령어를 추가해서 컨테이너가 바로 종료되는 것을 막을 수 있다!FROM openjdk:17-jdk...ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] # 500초 동안 시스템을 일시정지 시키는 명령어 COPY : 파일 복사(이동)COPY호스트 컴퓨터에 있는 파일을 복사해서 컨테이너로 전달사용법COPY..
도커 볼륨(Docker Volume)의 개념도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법▶ 볼륨 : 컨테이너 자체의 저장 공간이 아닌, 호스트 자체의 저장 공간을 공유해서 사용한다 볼륨 사용 명령어docker run -v [호스트의 디렉토리 절대경로]:[컨테이너의 디렉토리 절대경로] [이미지명]:[태그명] [호스트의 디렉토리 절대 경로]에 이미 존재할 경우호스트가 컨테이너의 디렉토리를 덮어 씌운다 [호스트의 디렉토리 절대 경로]에 존재하지 않을 경우호스트의 디렉터리 절대 경로에 디렉터리를 새로 만들고, 컨테이너의 디렉터리에 있는 파일들을 호스트 디렉터리로 복사해온다
컨테이너의 로그 조회# 특정 컨테이너의 모든 로그 조회docker logs [컨테이너 ID or 컨테이너명]# 로그 줄 설정해서 조회docker logs --tail [로그 끝부터 표시할 줄 수] [컨테이너 ID or 컨테이너명]# 기존 로그 조회 O + 생성되는 로그를 실시간으로 보고싶을 때docker logs -f [컨테이너 ID or 컨테이너명]# 기존 로그는 조회 X + 생성되는 로그를 실시간으로 보고싶을 때docker logs --tail 0 -f [컨테이너 ID or 컨테이너명]
컨테이너 조회# 실행 중인 컨테이너들만 조회docker ps# 모든 컨테이너 조회docker ps -a 컨테이너 중지docker stop [컨테이너명 or 컨테이너 ID]docker kill [컨테이너명 or 컨테이너 ID] 컨테이너 삭제# 중지되어 있는 특정 컨테이너 삭제docker rm [컨테이너명 or 컨테이너 ID]# 실행되고 있는 특정 컨테이너 삭제docker rm -f [컨테이너명 or 컨테이너 ID]# 중지되어 있는 모든 컨테이너 삭제docker rm $(docker ps -qa)# 실행되고 있는 모든 컨테이너 삭제docker rm -f $(docker ps -qa)
컨테이너 생성이미지를 바탕으로 컨테이너 생성 (실행 X)▶ 보통은 컨테이너를 생성만 하고 실행하지 않는 경우는 없어서, 잘 사용하는 명령어는 아니다docker create [이미지명]# 모든 컨테이너 조회docker ps -a 컨테이너 실행정지되어 있는 컨테이너 실행docker start [컨테이너명 or 컨테이너 ID]# 실행중인 컨테이너 조회docker ps 컨테이너 생성 및 실행이미지를 바탕으로 컨테이너를 생성하고, 컨테이너를 실행까지 한다# 포그라운드 실행docker run [이미지명]# 백그라운드 실행docker run -d [이미지명] 포그라운드와 백그라운드 개념특징포그라운드(foreground)내가 실행시킨 프로그램의 내용이 화면에서 출력되는 상태해당 상태에서는 다른 프로그램을 조작할 수 ..
이미지 다운로드# 최신 버전(latest) 다운로드docker pull [이미지명] Dockerhub이미지를 다운로드 받는 곳▶ Github와 마찬가지로, 사람들이 올려놓은 이미지들이 저장되어 있어서 pull을 통해 다운받아서 사용할 수 있는 곳▷ 이미지를 저장 및 다운받을 수 있는 저장소 특정 버전 이미지 다운로드태그명 : 특정 버전을 나타내는 이름Dockerhub에서 확인 가능docker pull [이미지명:태그명] 이미지 조회docker image ls 이미지 삭제# 특정 이미지 삭제docker image rm [이미지 ID or 이미지명]# 중지된 컨테이너에서 사용하고 있는 이미지 강제 삭제docker iamge rm -f [이미지 ID or 이미지명]# 전체 이미지 삭제# 컨테이너에서 사용..