백엔드 공부

도커 실행 기본 명령어

highgrace 2021. 11. 28. 15:33

도커를 공부해보고싶다는 마음이 들어서 내가 공부한 것을 간단히 정리하는 마음으로 기록하는 포스팅이다.

실무에 당장 필요해서 공부하는건 아니고, 곧 필요해질 것 같아서 미리 공부해두는 마음으로..


[  도커 실행 기본 명령어  ]

docker + _______(여기에 다양한 명령어를 넣으면 된다)________

📌 help

뭐든 잘 모르겠으면 docker 명령어 --help를 입력하면 친절히 설명해주니 유념하시오!

📌 run

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

도커를 실행시키는 명령어이다.

docker run (주고싶은 각종 옵션들 ~~~) (실행시키고싶은 컨테이너 종류)... 이렇게 입력해주면 된다.

1. docker run 옵션

-d: detached mode, 백그라운드로 돌리는 옵션

--rm: 컨테이너가 종료되면 삭제해라

-v: 호스트와 컨테이너의 디렉토리 연결 → 요건 밑에서 더 자세히 설명

-e: 컨테이너에서 사용할 환경변수 설정

-it: 터미널에 내 PC의 주변장치로 입력하기 위한 옵션(-i & -t라고 한다)
      이는 STDIN 표준 입출력을 열고 가상 tty (pseudo-TTY) 를 통해 접속하겠다는 의미이다. 

--network: 네트워크 연결

–name: 컨테이너 이름 설정

 

2. docker run 컨테이너 종류

ubuntu, centos, nginx, wordpress, mysql.... 등등등등등

아직 학부생의 나의 시선에서는 왠만하면 거의 모든 스택이 도커 이미지로 지원되는 것 같다.

https://hub.docker.com/search?type=image

 

Docker Hub

 

hub.docker.com

docker run ubuntu:20.04

ubuntu를 실행시키면 컨테이너가 만들어지고 바로 꺼진다

그런데 -it 옵션을 주면?

docker run -it ubuntu:20.04

만들어진 우분투 컨테이너의 bash창에 접속이 가능하다.

디폴트 명령어가 /bin/bash라서 바로 실행이 되는듯 하다..

 

📌 exec

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

docker exec -it CONTAINER_ID

실행중인 컨테이너에 접속하기 위해서는 exec 명령어를 사용할 수 있다

ubuntu 컨테이너에 접속하기 위해 docker exec -it [ubuntu컨테이너이름] [명령어]를 주면 된다.

📌 ps

 docker ps [OPTIONS]

현재 실행중인 컨테이너 리스트 확인 가능함!

docker ps 결과화면

CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES

의 순서대로 정보들이 출력되고, 이 중에서 컨테이너의 NAMES는 따로 지정해주지 않으면 랜덤하게 이름이 생성된다.

 

-a: 옵션을 주면 현재 종료된 컨테이너까지도 볼 수 있다.

docker run 시에 --rm옵션을 주면

📌 rm

docker rm [OPTIONS] CONTAINER [CONTAINER...]

컨테이너 지우기

📌 logs

docker logs [OPTIONS] CONTAINER

-f: 실시간으로 새로운 로그를 계속 띄운다.

📌 images

docker images [OPTIONS] [REPOSITORY[:TAG]]

run 명령어 시 이미지가 다운되어있는게 없으면 이미지를 먼저 다운받고 실행시킨다.

그렇게 다운받아진 이미지들이다.

📌 pull

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

이미지를 다운로드하는 명령어

📌 rmi

docker rmi [OPTIONS] IMAGE [IMAGE...]

다운되어있는 이미지를 삭제하는 명령어

📌 network create

docker network create [OPTIONS] NETWORK

도커 컨테이너끼리 이름으로 통신할 수 있는 가상 네트워크를 만든다.

📌 volume mount(-v)

word press에 mysql을 연결했다가 mysql 컨테이너를 삭제하면 word press 관련 데이터들이 싹- 다 날아간다!

이를 막기 위해서는 -v 옵션으로 로컬 저장소와 연결해두면 된다.

-v 옵션을 추가해서 mysql 컨테이너 생성

 

'백엔드 공부' 카테고리의 다른 글

도커가 뭐지?  (0) 2021.11.22