본문 바로가기
개발/Docker

Docker

by 하얀 루돌프 2022. 4. 12.

도커 정지하기

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 .