도커 기본적인 명령어와 터미널 명령어를 알아보자.
*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
$ docker version
*도커 실행환경 확인
$ docker system info
$ docker system info
*도커 디스크 상태 확인
$ docker system df
$ docker system df
HelloWorld
*헬로우 월드 찍어볼까요
$ docker run hello-world
- docker run 명령어는 컨테이너를 새로 만들고 실행까지 하는 명령어 이다.
- 우선 hello-world 라는 이미지가 있는지 확인 후 없다면 새로 다운로드를 한다.
- 그리고 컨테이너가 실행되면 다음과 같이 메시지가 출력된다.
$ 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
*컨테이너 목록에서 확인
$ 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번에 있던 녀석이 최대화 됩니다.
작업관리 라고 해야 하나 갑자기 이것에 대한 정확한 명칭이 떠오르지 않는군요.
아무튼 명령어 제일 뒤에 &를 붙혀서 백그라운드(최소화상태)로 실행되게 한다거나 하는데...
아마 수업듣다보면 수업시간에 나올겁니다.