도커 빌드 - 이미지 만들기
도커파일있는 디렉토리에서 docker build --tag dsa05037/pnutour-springboot .
예시 : docker build --tag dsa05037/pnutour-springboot .
여기서 dsa05037은 도커허브 아이디이다. 이렇게 이름을 설정해놓아야 푸시가 가능하다.
뒤에 . 도 넣어야 한다. 태그 설정시 넣어주면 된다.
도커 실행 예시
docker run --name mongodb-container -v ~/data:/data/db -d -p 27017:27017 mongo
--name은 실행됐을 때의 컨테이너 이름이다. 지정하지 않을 시 아래 사진처럼 랜덤으로 적용된다.
-v ~/data:/data/db는 호스트(컨테이너를 구동하는 로컬 컴퓨터)의 ~/data 디렉터리와 컨테이너의 /data/db 디렉터리를 마운트시킨다. 이처럼 볼륨을 설정하지 않으면 컨테이너를 삭제할 때 컨테이너에 저장되어있는 데이터도 삭제되기 때문에 복구할 수 없다.
이 설정은 보통 데이터베이스 사용시 설정한다. 파일관리는 애초에서 하는 것이 좋다.
-p 은 외부포트 내부포트 연결이다.
맨뒤에는 이미지파일 이름이다.
docker run -p 8080:8080 dsa05037/pnutour-springboot
간단한 버전이다.
도커 풀
오픈 소스의 경우 아래 처럼 이름만 쳐도 된다. latest는 뺴도 된다.
docker pull ubuntu:latest
pull 명령어는 docker hub에 있는 이미지를 갖고 오는 명령어로 우리는 ubutu 이미지를 갖고올 것이다.
ubuntu 뒤에 ':' 뒤에 붙어 있는 것은 Tag 라고 표현하고 ubuntu 이미지들 중에서 특징을 표현한다.
도커허브 이용시
docker login
으로 먼저 로그인을 한다.
그리고 docker pull 레포지토리명:태그 명령어를 입력한다.,
예시 docker pull dsa05037/spring-test:ver_2
docker pull dsa05037/spring-test
예시 docker pull dsa05037/spring-test:latest
docker images
현재 이미지들을 조회한다.
docker ps -a
실행중인 컨테이너를 확인한다.
'I leaned > 스프링,스프링부트' 카테고리의 다른 글
Validation에서 @Size와 @Length의 차이점 (1) | 2024.01.21 |
---|---|
@Modifying (0) | 2023.10.08 |
Spring RestDoc 적용법 (0) | 2023.07.27 |
@Transaction(readOnly=true) (0) | 2023.07.25 |
AOP(관점지향프로그래밍) (0) | 2023.07.25 |