본문으로 바로가기

자주 사용하는 도커(Docker) 명령어 정리

category IT/DevOps 2021. 10. 8. 15:29
반응형

Dockerfile 작성

FROM openjdk:8


RUN apk add tzdata
RUN cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime
RUN echo "Asia/Seoul" > /etc/timezone
ENV LANG=ko_KR.UTF-8

ENV TZ=Asia/Seoul


COPY . /apps

WORKDIR /apps

docker build 해서 이미지 생성

docker build -t <docker_image_name>:<version_tag_name> .

docker run 명령어 실행

td 옵션 종료하지않고 컨테이너 실행

docker run -td --name <custom_container_name> <docker_image_name>:<version_tag_name>

it 옵션으로 종료하지않고 도커내부로 접속

docker run -it --name <custom_container_name> <docker_image_name>:<version_tag_name>

docker run 옵션 설명

  • -t, --tty : Container에 터미널 할당
  • -d, --detach : 백그라운드에서 Container 실행
  • -i, : 포그라운드에서 Container 실행
  • -p <사용할호스트의포트:컨테이너포트> 포트 지정
  • --name <컨테이너이름>

동작 중인 컨테이너 확인 (컨테이너 id 확인)

docker ps -a

컨테이너 접속 (command 에 나온 쉘 입력 /bin/sh, /bin/bash 등등)

docker exec -it <container_id> /bin/sh

ECR에 푸쉬

aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <account_id>.dkr.ecr.ap-northeast-2.amazonaws.com/lotte-ndp-intellisys-ecr
docker build -t ndp-base .
docker push <account_id>.dkr.ecr.ap-northeast-2.amazonaws.com/whatap-base

도커 실행시 권한 문제 해결

sudo chmod 666 /var/run/docker.sock

EC2가 ECR에 push를 하기 위한 iam role

  • EC2ContainerRegistryPowerUser

docker 이미지 안에서 수정해서 다시 이미지 생성하는 명령어

docker commit <docker_image_id> <custom_docker_image_name>

모든 도커 컨테이너 중지 and 삭제

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

모든 도커 이미지 삭제

docker rmi $(docker images -q) 
반응형