Docker 이미지 및 컨테이너, 볼륨 실행 명령어
2023. 2. 6. 16:41ㆍDocker
728x90
1. Image
- 이미지 생성 (빌드)
docker build .
// 이미지 빌드 태그
docker build -t 이름:태그 .
- 이미지 목록
docker images
- 이미지 제거
docker rmi 이미지
// 미사용 이미지 제거
docker image prune
- 이미지 실행
// 기본
docker run 이미지
// 포트 설정
docker run -p 내pc포트:expose포트 이미지
// detach 모드 (docker start 일 경우 default)
docker run -p 내pc포트:expose포트 -d 이미지
// attach 모드 (docker run 일 경우 default)
docker run -p 내pc포트:expose포트 -a 이미지
// 인터렉티브 모드 (-it)
docker run -it 이미지
// 종료시 자동 컨테이너 제거 (--rm)
docker run -p 내pc포트:expose포트 -rm 이미지
// 태그 (--name)
docker run -p 내pc포트:expose포트 -rm --name 이름 이미지
// 볼륨 (-v 이름:경로)
ocker run -d -p 3000:80 --rm --name feedback-app -v feedback:/app/feedback -v $(pwd):/app -v /app/node_modules feedback-node:volumes
- 이미지 정보 확인
docker image inspect 이미지
- 도커 허브에 push/pull
docker push 이미지
docker pull 이미지
2. Container
- 컨테이너 확인
// 실행중인 컨테이너 확인
docker ps
// 모든 컨테이너 확인
docker ps -a
- 컨테이너 실행
docker start 컨테이너
// 인터렉티브 모드
docker start -a -t 컨테이너
- 컨테이너 제거
docker rm 컨테이너
- 컨테이너 종료
docker stop 컨테이너
- 컨테이너 파일 복사
docker cp 복사할파일경로 목적컨테이너:/경로
// 예시: dummy에 있는 모든 파일을 practical_jennings 컨테이너의 /test 폴더로 복사
docker cp dummy/. practical_jennings:/test
- 컨테이너 상세
docker inspect 컨테이너
3. 볼륨
익명볼륨
- 시간 절약 가능
- 컨테이너에 존재하는 특정 데이터 잠금
- 다른 모듈에 의해 덮어쓰여지는 것 방지
- 도커가 read-write 레이어 내부 모든 데이터 관리 할 필요 없음
-> 성능, 효율 도움
명명된 볼륨
- Dockerfile에서 생성 불가
- 이름이 지정됨
- 컨테이너가 종료 및 제거되어도 유지
- 컨테이너간 데이터 공유 가능
바인드 마운트
- 하나의 특정 컨테이너에 국한되지 않음
- 컨테이너 종료 및 제거 후에도 유지됨
- 데이터 삭제를 하려면 호스트 머신에서 삭제
- 컨테이너간 공유 가능
- 볼륨 생성
docker volume create 볼륨
- 볼륨 검색
docker volume ls
- 볼륨 제거
docker volume rm VOL_NAME
docker volume prune
- 볼륨 상세
docker volume inspect 볼륨
4. 환경변수
- dockerfile에서 생성 (ENV)
ENV PORT 80
EXPOSE $PORT
- 컨테이너 실행시 생성
// --env
docker run -d -p 3000:8000 --env PORT=8000 --rm --name feedback-app -v feedback:/app/feedback -v "D:\WorkSpace\Docker\DockerAndCubernetes_udemy\section_3\data-volumes-01-starting-setup:/app:ro" -v /app/temp -v /app/node_modules feedback-node:env
// --env-file (파일 선택)
docker run -d -p 3000:8000 --env-file 상대파일경로 --rm --name feedback-app -v feedback:/app/feedback -v "D:\WorkSpace\Docker\DockerAndCubernetes_udemy\section_3\data-volumes-01-starting-setup:/app:ro" -v /app/temp -v /app/node_modules feedback-node:env
'Docker' 카테고리의 다른 글
Docker nodemon window10_home( wsl2 ) (0) | 2023.02.10 |
---|---|
Dockerfile 지시어 종류 (0) | 2023.02.06 |
Docker desktop 설치_window (0) | 2023.02.06 |