개요
2023-09-12 1회차 SaaS 강의 에대해서 내용정리를한다.
내용
도커의 기본 개념
도커는 VM보다 가벼운 컨테이너의 한 종류입니다. 컨테이너는 서버에서 사용하는 것은 커널 뿐이며, 나머지 설정 등 필요한 파일은 컨테이너가 가지고 있습니다. Base OS의 최소 필요 조건만 갖추면 컨테이너는 어떤 OS에서도 돌아갈 수 있습니다. 라이브러리 버전 충돌이나 개발 환경 변화에 대한 관리가 어려운데, 컨테이너는 이러한 문제를 해결해 줍니다. CentOS 지원 종료 문제로 인해 우분투로의 전환도 고려되고 있습니다.
AWS EC2 무료 계정 생성
기본 지원인 무료 지원 플랜을 선택합니다.
EC2 인스턴스 시작
- 인스턴스 생성 과정

- 요금제에 따라 성능이 다르며, 리전에 따라서도 성능과 비용이 다릅니다.
- 키페어 생성 및 관리
- private 키와 public 키를 생성하며, public 키를 갖는 상대방은 AWS EC2 서버입니다.
- 맥과 리눅스는 .pem 파일을, 윈도우는 .ppk 파일을 사용합니다.

- 다운받은 키페어 파일을 잃어버리면 다시 생성해야 합니다.
볼륨 생성 및 인스턴스 연결 방법
-
인스턴스 연결 방법에는 여러 가지가 있으나, EC2 직렬 콘솔은 지원하지 않습니다.

-
VM에서 git과 ssh-keygen 설정을 통해 보안을 강화합니다. passphrase : private 키를 한번더 인코딩을한다. 한번더 입력하는 보안강화내용 아래는 키페어 생성완료내용


E2C 서버에 Git 연결

Docker 설치 및 기본 실행
- 도커 한 방 설치 스크립트 파일 사용
https://get.docker.com/
-
- curl -fsSL https://get.docker.com -o install-docker.sh
-
- sh install-docker.sh —dry-run ( 실제실행은아니고 실행계획을보여줌 모의훈련개념임 )
-
- sh install-docker.sh ( 설치 완료까지 기다린다. )
-
Docker 실행 명령어
docker run -it centos:7 ( centos:7 은 이미지의 이름) docker create -it —name myubuntu ubuntu:20.04
만약 —name 옵션을 안주면
이렇게 임의의 단어_단어 랜덤하게생성된 것이 이름이된다.
docker start myubuntu (컨테이너 실행)
docker attacth (컨테이너로 접속)

컨테이너에서 Ctrl + P + Q 누르면 컨테이너를 종료하지않고 빠져나온다.
docker run hello!
기존 컨테이너를 overide 해서 실행하는방법

모든 컨테이너를 실행중인것까지 전부다 삭제해라
docker rm -f $(docker ps -a -q)

도커 웹서버 구동
- 우분투 14.04 버전을 사용하여 도커 웹서버를 구동합니다.
- 도커 이미지의 용량이 적은 이유는 불필요한 것들이 제외되어 있기 때문입니다.

- 도커의 네트워크 및 IP는 독자적인 IP를 부여받으며, 컨테이너 포트와 호스트 포트를 설정합니다.
앞이 호스트 뒤가 컨테이너 포트임
EC2 에서 보안 > 인바운드규칙 설정


아파치 웹서버 실행

그러면 이렇게 컨테이너에 올라온 웹서버를 이렇게 외부에서 접속 할 수 있다.

도커 워드프레스 실행 및 설치
- 워드프레스를 사용하여 빠르게 웹사이트를 구축합니다. https://wordpress.org/
- EC2 외부 주소를 통해 웹사이트에 접속할 수 있습니다.
설치 및 실행

\ 옵션은 명령줄을 개행해서 이어서 입력할때 사용하는옵션이다.
wordpressdb 라는컨테이너가 구동될때 :mysql 이라는 것은 별칭이며,
아래 명령어로 설치및 실행을하고

EC2 외부주소를 입력하여 접속을하면

짜잔

프로세스 정보

도커 볼륨을 이용한 서버 변경 및 내용 저장
- 서버 및 웹사이트의 변경내용등을 저장하기위해영속적으로 데이터를 저장하기위해 특정볼륨을 host vm 에 저장한후 해당 볼륨으로 실행을 할 수 있다(백업및 저장의기능)
docker run -it -d --name volume_override -v /home/wordpress_db:/var/lib/mysql ubuntu:18.04질문들
인터넷이 안되는 환경에서의 도커는?? 라이브러리와 패키지 를 Maven 처럼 로컬네트워크를 구축해놓아야하나? 도커이미지를 관리해야하는 포인트가 생기는거네요? 그렇다면 이미지는 USB 등 저장장치에 담아서 폐쇄망 DMZ 나 파일Zone에 옮겨야하겠네요? 이미지가 새로 생긴다면 그 이미지를 매번 저장장치로 옮겨야하겠네요?그렇다면 커널버전에 의존적인건가요? 베이스 OS 의 커널버전은 관리해서 맞춰줄 필요가있겠네요?