"15단계로 배우는 도커와 쿠버네티스"를 참조하여 작성하였습니다.
https://console.cloud.google.com/?hl=ko
도커 환경 구축
- 크레딧 확인 : 검색창에 credit으로 검색
- Compute Engine의 VM인스턴스
- 프로젝트 선택
- 인스턴스 생성
- 원하는 인스턴스 이름 설정
- 리전 asis-northeast3(서울) 선택
- 원하는 머신 구성 선택 ->EC2
- 부팅디스크 ) 운영 체제 선택 -> Ubuntu & 버전 :Ubuntu 20.04 LTS
- ID 및 API 액세스 ) 모든 Cloud API에 대한 전체 액세스 허용
- 방화벽 ) HTTP와 HTTPS 트래픽 둘다 체크
- 외부 IP 및 SSH 접근 확인
- 인스턴스 초기 설정
- sudo apt update
- sudo apt upgrade
- sudo apt build-essential
- 자동 설치 스크립트 활용
- 리눅스 배포판 종류를 자동으로 인식하여 Docker 패키지를 설치해주는 스크립트를 제공
$ sudo wget -qO- https://get.docker.com/ com/| sh
- Docker서비스 실행하기 및 부팅 시 자동 실행 설정
$ sudo systemctl start docker
$ sudo systemctl enable docker
->그러고 나서 현재 창을 닫은 후 다시 SSH연결
- hello-world 실행
$ docker container run hello-world
- 샘플 코드
$ git clone https://github.com/Jpub/15_DandK
$ cd 15_DandK
-git clone을 해서 다운 받고 15_Dandk로 현재 경로를 변경한다.
< 도커 컨테이너 실습 >
- Search 명령으로 이미지 검색하기 - docker search <이미지 이름>
$ sudo docker search ubuntu
-Docker hub에서 이미지 검색해보기
https://registry.hub.docker.com/
- 보통 ubuntu,contos, redis 등 OS나 프로그램 이름을 가진 이미지가 공식 이미지
- Pull 명령으로 이미지 받기 - docker image pull <이미지이름>:<태그>
$ sudo docker pull ubuntu:latest
-이미지 이름 뒤에 latest를 설정하면 최신 버전을 받음
-호스트에 설치된 리눅스 배포판과 Docker 이미지의 배포판 종류는 달라도 됨 (CentOS에서 Ubuntu 컨테이너 실행 가능)
- images 명령으로 이미지 목록 출력하기 - docker image ls
$ sudo docker images
-모든 이미지를 출력해보기
- run 명령으로 컨테이너 생성하기- docker container run <옵션> <이미지 이름> <실행할 파일>
$ sudo dicker run -i -t --name hello ubuntu /bin/bash
-자주 사용하는 docker run 옵션
옵션 | 설명 |
-i | 키보드 입력을 컨테이너의 표준 입력에 연결하여 키보드 입력을 컨테이너의 셀 등에 보낸다. |
-t | 터미널을 통해 대화형 조작이 가능하게 한다. |
-d | 백그라운드로 컨테이너를 돌려 터미널과 연결하지 않는다. |
--name | 컨테이너에 이름을 설정한다. 시스템에서 유일한 이름이어야 하며, 옵션을 생략하면 자동으로 만들어진 이름이 부여된다. |
--rm | 컨테이너가 종료하면 종료상태의 컨테이너를 자동으로 삭제한다. |
-cd,ls 명령으로 컨테이너 내부를 둘러본 뒤 exit를 입력하여 Bash쉘에서 빠져나오기
-ubuntu 이미지에서 /bin/bash 실행 파일을 실행했기 때문에 여기서 빠져나오면 컨테이너가 정지됨
- 컨테이너를 정지할 때 함께 삭제하기 - docker container run -it --rm <옵션> <이미지 이름> <실행할 파일>
$ docker container run -it --rm --name hello ubuntu /bin/bash
-정지된 컨테이너를 디스크에 유지할 필요 없는 경우
- docker container rm 명령으로 삭제
- docker container rum --rm은 실행이 끝나면 자동으로 파기
- logs 명령으로 표준 출력 연결하기 - docker container logs <컨테이너 이름>
$ docker container logs hello
-현재 실행 중인 특정 Docker 컨테이너의 출력 내용(STDOUT 과 STDERR)을 확인
- start 명령으로 컨테이너 시작하기 - docker container start <컨테이너 이름>
$ sudo docker start hello
-방금 정지한 컨테이너를 다시 시작하기
- 컨테이너 이름 대신 컨테이너 ID를 사용해도 됨
-컨테이너를 시작했으면 컨테이너 목록 출력해보기(sudo docker ps)
- hello 컨테이너가 시작되었음
- docker container run과 start의 차이
- run은 새로운 컨테이너를 이미지로부터 만듦
- start | stop은 기존에 실행되었던 컨테이너를 중지시키거나 실행시킴
- 컨테이너 목록 확인하기 - docker container ls
$ docker container ls
-모든 컨테이너 목록을 출력하기
- -a옵션을 사용하면 정지된 컨테이너까지 모두 출력
'Programmer > Cloud' 카테고리의 다른 글
[Docker] 5 컨테이너 API (0) | 2021.08.13 |
---|---|
[Docker] 4 도커 활용과 컨테이너 (0) | 2021.08.13 |
[Docker] 2 도커란? (0) | 2021.08.12 |
[Docker] 1-2 클라우드와 컨테이너 (0) | 2021.08.12 |
[Docker] 1-1 클라우드와 컨테이너 (0) | 2021.08.11 |