BDKK SI Engineer

Docker 기본적인 명령어와 터미널 명령어를 알아보자.

2019-02-26


도커 기본적인 명령어와 터미널 명령어를 알아보자.

*docker 그룹을 만들어보자

$ sudo groupadd docker

*사용자를 docker에 추가해보자

$ sudo usermod -aG docker $USER

//여기서 로그아웃 후 다시 로그인 합니다. //만약 그래도 권한이 없다고 나온다면 다음 명령어로 권한을 부여합니다.

※ 여기서 -a 옵션이 없으면 사용자 계정의 그룹은 “추가”가 아니라 “변경”이 되어 버린다. 그러면 기존의 정보가 모두 삭제되니 주의한다.

*권한 부여

$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chomd g+iwx "$HOME/.docker" -R

*옵션 부탕시 도커를 시작하도록 설정

$ sudo systemctl enable docker // 설정 on
$ sudo systemctl disable docker //설정 OFF

*docker version 확인

$ docker version

img$ docker version

*도커 실행환경 확인

$ docker system info

img$ docker system info

*도커 디스크 상태 확인

$ docker system df

img$ docker system df


HelloWorld


*헬로우 월드 찍어볼까요

$ docker run hello-world
  • docker run 명령어는 컨테이너를 새로 만들고 실행까지 하는 명령어 이다.
  • 우선 hello-world 라는 이미지가 있는지 확인 후 없다면 새로 다운로드를 한다.
  • 그리고 컨테이너가 실행되면 다음과 같이 메시지가 출력된다.

img$ docker run hello-world


Nginx 설치 및 실행


*Nginx 설치 및 실행

웹서를 설치하고 접속해보겠습니다. 대표적인 웹 서버 중 하나인 Nginx 를 설치합니다. 도커에서 제공하는 공식이미지를 사용하면 아주 쉽게 설치할 수 있습니다.

*다운로드

$ docker pull nginx

다운로드한 이미지는 docker images에서 확인 할 수 있다.

$ docker run nginx

위 를 써도 이미지가 없으면 이미지를 받아서 컨테이너를 생성하므로 pull 명령어를 생략 할 수 있습니다.

*Nginx 컨테이너를 실행합니다. 하나의 Nginx 서버를 띄운 거라고 볼 수 있습니다.

$ docker run --name webserver -d -p 80:80 nginx

// * –name : 컨테이너의 이름을 지정 // * -d : 컨테이너를 백그라운드에서 실행하고 컨테이너 ID를 출력 // * -p : 컨테이너의 특정 포트를 호스트로 오픈. -p : 형식으로 사용가능. // 만약 -p 형식으로 쓰면 호스트의 포트는 임의로 할당

*컨테이너 목록에서 확인

$ docker ps

*컨테이너 상태 확인

$ docker container stats

상태로는 cpu 메모리, 점유율, 속도등을 볼 수 있다.빠져나올때는 컨트롤+Z

컨테이너 기동과 종료가 필요한 경우는 docker start 와 docker stop을 사용합니다.


터미널 제어 문자와 관련된 것


터미널 제어 문자와 관련된 것입니다.

stty -a 하면 정의된 문자를 볼 수 있습니다.
intr : 인터럽트 : 대부분 Ctrl-C
quit : 강제종료 : Ctrl-\
erase : 문자지우기 : Ctrl-H 
kill : 입력 라인 전체 지우기 : Ctrk-U
eof : end of file : ctrl-D
start : 터미널 출력 : Ctrl-Q
stop : 터미널 출력 중지 : Ctrl-S
susp : suspend (수행 중지) : Ctrl-Z
등등등 이런 것들이 정의되어 있습니다.

Ctrl-Z 되었으니.. 구동 중지하고 백그라운드 프로세스로 전환된 겁니다..
그리고 카운트는 백그라운드 프로세스의 job number입니다.
명령프롬프트에서 jobs 명령을 수행하면 백그라운드 프로세스 목록을 보여줍니다.
백그라운드 프로세스는 fg %number로 불러올 수 있습니다.
cat은 Ctrl-D를 만나면 종료됩니다.
더 자세한 내용은 man bash로 확인하세요.

윈도우라 생각할때 ^d는 닫기 이고 ^z는 최소화 라고 생각하면 됩니다.우선 작업표시줄(?)이 필요하겠지요? 그래야 무슨창이 최소화되어 있는지 알테니까...

작업표시줄(?)은 jobs라는 커멘드로 입력해주면 딱 나옵니다.그러면 그중에서 최대화 할 녀석을 콕 골라주면 최대화가 되는 것인데...

이것은 또 어떻게 고르느냐 하면...
fg 번호
해주면 됩니다. fg 1하면 1번에 있던 녀석이 최대화 됩니다.
작업관리 라고 해야 하나 갑자기 이것에 대한 정확한 명칭이 떠오르지 않는군요.
아무튼 명령어 제일 뒤에 &를 붙혀서 백그라운드(최소화상태)로 실행되게 한다거나 하는데...
아마 수업듣다보면 수업시간에 나올겁니다.

Comments

Content