개발 환경



자동 설치 스크립트로 도커 설치하기

도커는 리눅스 배포판 종류를 자동으로 인식해 Docker 패키지를 설치해주는 스크립트를 제공한다.


1
sudo wget -qO- https://get.docker.com/ | sh

  • wget : 인터넷에서 파일을 받을 때 사용하는 리눅스 명령어이다.
  • -O : wget은 다운로드 경로의 마지막 슬래시 다음에 오는 단어를 파일 이름으로 한다. 여기서는 빈칸이 되니 다른 이름으로 저장하는 옵션 -O를 사용한다.
  • -q : 출력없이 종료한다.
  • | sh : |는 파이프라인, 즉 wget으로 파일을 다운받은 후 셸을 실행한다는 의미이다.




우분투에서 패키지로 도커 설치하기

1. repository 인덱스 갱신하기

우분투를 포함해 리눅스 배포판들은 주요 리눅스 프로그램들을 저장소라는 곳에 한 데 모아 제공한다. 이러한 프로그램을 패키지라고 한다.

이 저장소에 올라간 패키지들은 최신 버전이 아닌 경우가 많고, 사용자 리눅스 환경설정과 맞지 않아 설치가 되지 않는 경우가 있다.

최신 패키지로 저장소에 있는 패키지들을 업데이트 하려면 아래 명령어를 입력한다.


1
sudo apt update // 또는 sudo apt-get update


2. 도커 다운을 위해 필요한 패키지 설치

1
2
3
4
sudo apt install apt-transport-https 
sudo apt install ca-certificates
sudo apt install curl
sudo apt install software-properties-common

  • apt-transport-https : 패키지 관리자가 https를 통해 데이터 및 패키지에 접근할 수 있도록 한다.
  • ca-certificates : ca-certificate는 certificate authority에서 발행되는 디지털 서명. SSL 인증서의 PEM 파일이 포함되어 있어 SSL 기반 앱이 SSL 연결이 되어있는지 확인할 수 있다.
  • curl : 특정 웹사이트에서 데이터를 다운로드 받을 때 사용
  • software-properties-common : *PPA를 추가하거나 제거할 때 사용한다.
※ wget대신 굳이 curl을 쓰는 이유는?
둘 다 웹사이트의 데이터를 다운로드 받을 수 있음. curl은 더 다양한 프로토콜 지원. 더 다양한 플랫폼에서 빌드/작동 가능. 자동 압축해제 지원. 업로드와 보내는 방법 지원. wget은 왼손만으로 타이핑할 수 있다! + HTTP POST 지원

※ PPA란?

Personal Package Archive, 개인 패키지 저장소. 개발자가 소스코드를 업로드하면 자동으로 패키지화함. 사용자가 다운로드 받아 설치할 수 있게 해주는 소프트웨어 저장소.



3. curl 명령어로 도커 다운받기


1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add

curl 명령어의 옵션

  • f : HTTP 요청 헤더의 contentType을 multipart/form-data로 보낸다.
  • s : 진행 과정이나 에러 정보를 보여주지 않는다.(–silent)
  • S : SSL 인증과 관련있다고 들었는데, 정확히 아시는 분 있다면 댓글 부탁!
  • L : 서버에서 301, 302 응답이 오면 redirection URL로 따라간다.
  • apt-key : apt가 패키지를 인증할 때 사용하는 키 리스트를 관리한다. 이 키를 사용해 인증된 패키지는 신뢰할 수 있는 것으로 간주한다. add 명령어는 키 리스트에 새로운 키를 추가하겠다는 의미이다.


4. repository에 경로 추가하기

1
2
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
  • add-apt-repository : PPA 저장소를 추가해준다. apt 리스트에 패키지를 다운로드 받을 수 있는 경로가 추가된다.
  • apt update : 저장소의 패키지 갱신


5. 도커 설치하기

1
2
apt-cache policy docker-ce
sudo apt install docker-ce
  • apt-cache : 우분투에서 소프트웨어나 라이브러리를 터미널에서 검색한다. ex) apt-cache search 검색어
  • policy : 내가 어떤 저장소를 설치했는지 보여준다. 저장소를 설치했는지 안했는지 기억이 안날 때 유용하다!


6. 확인하기

도커 시스템 확인하기

1
sudo systemctl status docker
  • systemctl : 리눅스에서 서비스를 등록, 삭제(mask, unmask) / 활성화, 비활성화(enable, disable) / 시작, 중지, 재시작(start, stop, restart) / 상태 확인(status) / 서비스 확인(list-units, list-unit-files)을 할 수 있는 명령어




Hello World

1. Hello-World 이미지 파일 다운

자동 설치 스크립트로 다운받았던 사람들은 hello-world 이미지 파일이 이미 있으니 다시 다운 받지 않아도 된다.

docker pull도커 허브 사이트에서 이미지 파일을 가져온다.


1
sudo docker pull hello-world


2. 이미지 리스트 확인하기

내 시스템에 어떤 이미지들이 있는지 확인하려면 docker images를 활용한다.

1
sudo docker images


3. 컨테이너를 띄워보자

두근두근!


1
sudo docker run hello-world


4. 컨테이너 확인하기

docker ps -a로 어떤 컨테이너가 띄워져있는지 확인 가능하다. 명령어로 컨테이너 ID를 확인한다.

1
sudo docker ps -a


5. 컨테이너 삭제

docker rm 명령어로 현재 띄워져있는 컨테이너를 삭제할 수 있다. 컨테이너를 삭제해도 이미지 파일은 남는다.


1
2
sudo docker rm 컨테이너ID
sudo docker images




References