Docker Script

공부의 기록·2022년 5월 1일
0

Docker

목록 보기
2/4

Script

본 문서는 2022년 5월 1일 에 작성되었습니다.

구분타이틀명령어 항목대상설명예시
0도커 기초1. docker run
2. docker ps
이미지 이름
-
컨테이너 설치/실행
컨테이너 리스트 출력
O
O
1도커 생명 주기1. docker ceate
2. docker start
3. docker stop
4. docker kill
5. docker rm
이미지 이름
컨테이너 이름 / 아이디
컨테이너 이름 / 아이디
컨테이너 이름 / 아이디
컨테이너 이름 / 아이디
컨테이너 설치
컨테이너 실행
컨테이너 중지
컨테이너 중지 (즉시)
컨테이너 삭제
X
O
O
O
O
2도커 제어1. docker exec컨테이너 아이디컨테이너에 명령어 전달O

도커 기초

docker run

docker run 이미지 이름

해당하는 이미지 이름 을 설치 / 실행하게 됩니다.
아래 옵션을 붙일 수 있습니다.

  • ls | 설치한 컨테이너의 디렉토리 최상단 리스트를 출력합니다.
  • ping localhost | 기준 시간 마다 핑을 출력해줍니다.

docker ps

docker ps

실행 중인 컨테이너를 출력 합니다.

  • --format 으로 출력화면에서의 양식을 지정할 수 있습니다.
  • {{.칼럼명}} 으로 기본 폼에 해당하는 칼럼명 만 출력하도록 할 수 있습니다.
  • \t 으로 출력문의 좌우 간격을 벌릴 수 있습니다.
  • -a 옵션으로 중지된 컨테이너를 출력할 수 있습니다.
docker ps --format name \t {{.Name}} \t iamge {{.Image}}

docker ps -a

도커 생명주기

docker start

docker start 컨테이너 이름/아이디

해당하는 컨테이너 이름/아이디 를 실행하게 됩니다.
아래 옵션을 붙일 수 있습니다.

  • -a 컨테이너 실행 후 결과 반환

docker stop

docker stop 컨테이너 이름/아이디

해당하는 컨테이너 이름/아이디 의 모든 프로세스 종료 후에 컨테이너를 중단합니다.
내부적으로 다음 프로세스에 따라서 진행됩니다.

  1. docker stop
  2. SIGTERM | 컨테이너 정리하는 시간, Grace Period, 동안 대기
  3. SIGKILL | 컨테이너 중지

docker kill

docker kill 컨테이너 이름/아이디

해당하는 컨테이너 이름/아이디 의 모든 프로세스를 무시하고 컨테이너를 중단합니다.
내부적으로 다음 프로세스에 따라서 진행됩니다.

  1. docker kill
  2. SIGKILL | 컨테이너 중지

docker rm

docker rm 컨테이너 이름/아이디

해당하는 컨테이너 이름/아이디 를 삭제합니다.
단, 실행 중인 컨테이너는 우선적으로 중지 해야 합니다.

다음과 같이 사용할 수 있습니다.

  1. docker rm 컨테이너 이름/아이디
  2. docker rm `docker ps -a -q`
  3. docker rmi 이미지 아이디
  4. docker system prune
구분명령어 항목대상설명
1docker rm컨테이너 이름 / 아이디해당하는 컨테이너 를 삭제합니다.
2docker rm `docker ps -a -q`-모든 컨에티너 를 삭제합니다.
3docker rmi이미지 아이디해당하는 이미지 를 삭제합니다.
4docker system prune-모든 컨테이너 / 이미지 를 삭제합니다.

도커 제어

docker exec

docker exec 컨테이너 이름/아이디 추가 명령어

다음과 같이 사용할 수 있습니다.

  1. docker exec 컨테이너 이름/아이디 ls
  2. docker exec -it 컨테이너 아이디 추가 명령어
  3. docker exec -it 컨테이너 아이디 sh/bash/zsh/power

아래와 같은 옵션을 사용할 수 있습니다.

  1. -it | Interactive Terminal, 컨테이너 접근 후 추가적인 명령어 전달 가능
  2. -sh | 컨테이너 접근 후 해당 컨테이너의 shell 오픈
    운영체제 별로 다르지만 보편적으로는 sh 를 사용
    그 외로는 bash / zsh power 등이 있습니다.

예시

Redis

  • 레디스 설치 / 실행
    docker run redis
  • 레디스 접속
    docker exec -it 레디스 아이디 redis-cli

Alpine

다음의 프로세스로 진행해볼 생각입니다.

구분설명
redis run alpinealpine 설치 / 실행
redis ps컨테이너 리스트 출력
redis exec -it alpine-아이디 echo "hello""hello" 출력하기
redis exec -it alpine-아이디 shalpine 컨테이너 용 Shell 오픈
echo "hello""hello" 출력하기
ls폴더 구조 출력하기
touch new-filenew-file 이름으로 파일 만들기
export hello=hi환경변수 이름=값 설정하기
echo $hello설정된 환경변수 $이름 출력하기
Ctrl + D컨테이너 Shell 종료
profile
2022년 12월 9일 부터 노션 페이지에서 작성을 이어가고 있습니다.

0개의 댓글