도커 정지하기
docker stop (아이디/이름)
# Graceful 하게 종료
docker kill (아이디/ 이름)
# 즉시 종료
도커 (중지된 컨테이너) 삭제
docker rm (아이디/이름)
모든 아이디 보기
docker ps -a -q
활용법
docker rm `docker ps -a -q`
도커 이미지, 네트워킹, 캐시 등 전부 삭제
docker system prune
이미 실행중인 컨테이너에 명령어를 전달하려면?
docker exec 아이디 명령어
docker exec -it <컨테이너 아이디> redis-cli
gitbash 에러
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
winpty docekr exec -it 7ba620e9466b redis-cli
# Git Bash (터미널 설정문제) / winpty 로 실행하면 된다.
도커에서 보면 alpine이란 이름이 들어간 이미지들이 많습니다.
이 alpine이 뜻하는것은 가장 작은 사이즈로 정말 필요한 것들만 담겨져 있는 이미지를 뜻합니다.
그 중에서 그냥 alpine 이미지는 5M크기의 리눅스 이미지 입니다. https://hub.docker.com/_/alpine#:~:text=Alpine%20Linux%20is%20a%20Linux,utilities%20and%20even%20production%20applications.
직접 도커 이미지 만들기
도커 명령어 이용
docker create <이미지 이름>
도커파일 이용
# 베이스 이미지를 명시해준다.
FROM baseImage
#추가적으로 필요한 파일들을 다운로드 받는다.
RUN command
#컨테이너 시작시 실행 될 명령어를 명시해준다.
CMD ["executable"]
# 예시
CMD ["echo", "hello"]
FROM
이미지 생성시 기반이 되는 이미지 레이어
<이미지 이름>:<태그> 형식으로 작성
태그를 안붙히면 자동적으로 가장 최신것으로 받아짐
EX) ubuntu:14.04
RUN
도커 이미지가 생성되기 전에 수행할 쉘 명령어
CMD
컨테이너가 시작됐을 때 실행할 실행 파일 또는 쉘 스크립트
해당 명령어는 DockerFile 내 1회만 사용 가능
도커파일 이용 (빌드하기)
docker build .
docker build -t rudolf/alpine:0.0.1 .
// 이미지 생성시 이름 주기
// 계정명/프로젝트이름:태그
도커 컨테이너 포트 설정
docker run -p 5000:8080 zer0da9/nodejs
외부 포트 :컨테이너 내부 포트 이미지명
도커 Work directory (WORK DIR) 및 COPY
FROM node:10
WORKDIR /usr/src/app
COPY ./ ./
#현재폴더에 있는 모든 파일을 workdir로 카피
RUN npm install
CMD ["node", "server.js"]
도커 docker-compose
docker-compose up
docker-compose up -d
docker-compose up --build
docker-compose down
도커파일 dev, prod 구분하기
docker build -f Dockerfile.dev .
docker build -f Dockerfile.dev . -t
docker build -t .