docker 명령어

박상은·2021년 8월 20일
0

🛢️ docker 🛢️

목록 보기
2/5
post-custom-banner

1. 컨테이너 생성

docker create <image-name>
docker create redis
docker-hub 에서 자동으로 다운받아옴

2. 컨테이너 실행

docker start -a <container-name> or <container-id>
docker start -a my-redis

  • -a : 컨테이너 실행후 화면에 출력되는것을 내 터미널창에 보여줌 ( attach를 의미 )

3. 컨테이너 생성 및 실행 및 초기명령어 지정

docker run <options> <image-name> <command>
docker run redis ls
docker run --name my-redis -d -p 6379:6379 --rm redis ls

  • docker: docker client
  • run: 컨테이너 생성 및 실행 ( 없으면 docker-hub 에서 자동으로 다운받아옴 )
  • <image-name>: 컨테이너를 생성하기위한 이미지
  • <command>: <command>의 의미말고 현재 자리를 의미하며, 특정 명령어를 사용하면 기존에 이미지가 가지는 실행시 명령어를 무시하고 현재 위치에 적은 명령어를 실행함
  • <options>: docker run실행시 추가로 부여할 옵션들
    1. -p : 포트맵핑 ( 내컴퓨터에서접근할포트:컨테이너에서열어줄포트 )
    2.-d : 컨테이너 실행후 바로 밖으로 나옴 ( node실행시 대기하는데 -d넣어주면 바로나옴 )
    3. --name : 생성할 컨테이너의 이름지정 ( 초기값은 랜덤문자열 )
    4. --rm : 컨테이너 실행종료시 삭제

4. 실행된 컨테이너 or 모든 컨테이너 보기

dokcer ps <option>

  • ps: process status
  • <option>: docker ps를 실행시 추가로 부여할 옵션들
    1. -a: all을 의미
    2. -l: 마지막에 실행한 명령어
// docker ps 명령어 입력시 보여주는것들
1. CONTAINER ID : 컨테이너의 아이디
2. IMAGE : 컨테이너에 사용한 이미지명
3. COMMAND : 컨테이너 시작시 실행한 명령어
4. CREATED : 컨테이너 생성된 시간
5. STATUS : 컨테이너의 상태 ( up, exited, pause )
6. PORTS : 컨테이너가 개방한 포트와 호스트에 연결될 포트
7. NAMES : 컨테이너에 지정한 이름

5. 컨테이너 중지

5.1 stop

  • docker stop <container-name> or <container-id>
  • docker stop my-redis
    하던 작업을 마무리한후에 컨테이너 중지

5.2 kill

  • docker kill <container-name> or <container-id>
  • docker kill my-redis
    즉시 컨테이너 중지

6. 컨테이너 삭제

6.1 특정 컨테이너 삭제

  • docker rm <option> <container-name> or <container-id>
  • docker rm -f my-redis
    실행 종료된 특정 컨테이너 삭제
    -f: 컨테이너가 실행중이라면 종료시키고 삭제

6.2 전체 컨테이너 삭제

  • dokcer rm docker ps -a -q
    단, 컨테이너가 중지되어있어야 삭제할 수 있음

7. 이미지 삭제

  • docker rmi <image-name>
  • docker rmi redis
    단, 이미지를 사용하는 컨테이너가 존재하면 이미지를 제거할 수 없음

8. 사용하지않는 이미지 컨테이너 모두 삭제

  • docker system prune
    단, 실행중인 컨테이너와 이미지는 삭제하지않음

9. 실행중인 컨테이너에 명령어 전달

docker exec <option> <container-name> or <container-id> <command>
docker exec -it my-redis bash

  • -i : interacive
  • -t : terminal
  • -it : -i-t를 합쳐서 적은것으로 실행중인 컨테이너 내부의 터미널에 접속하는 것
  • <command>: 실행된 컨테이너 내부에서 실행시킬 명령어
    sh, bash, zsh, power shell 등등으로 터미널에 접근가능

마무리

-it의 의미는 아직 무슨의미인지 정확하게 모르겠습니다.

참고한 사이트

  1. 인프런강의
  2. 전체적으로참고
  3. volume참고사이트
  4. docker이미지생성후테스트
post-custom-banner

0개의 댓글