도커, 쿠버네티스
- 도커 최신버전 설치(AWS: UserData)
#!/bin/bash
sudo su - root
yum update -y
amazon-linux-extras install docker -y
yum install docker -y
systemctl start docker
systemctl enable docker
curl https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
usermod -a -G docker ec2-user // 자동완성 기능
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
sudo su -
curl -fsSL https://get.docker.com/|sh
yum -y install bash-completion wget unzip net-tools mysql telnet rdate
rdate -s time.bora.net && clock -w
curl https://raw.githubse
도커는 이미지를 만듬
도커이미지를 생성하고 공유해야한다.
이미지를 배포한다.
이미지는 정적이다. 실행해야 한다. 예 웹서비스
도커허브에 올리고, 이미지를 내려받고 실행시킨다. 전세계에 개방된다. 이것이 실행이다.
eks는 aws가 제공하는 완전 관리형 서비스이다.
비용이 너무 비싸니까 개발환경으로는 구리다.
처음부터 개발환경부터 eks를 구축할 필요는 없다.
온프레미스 환경에서 클러스터를 구성해서 개봘환경을 충분히 구축한다음에 넘어가는것이 좋다.
도커는 2가지 버전이 있음
- ce : community edition (공개버전)
- ee : enterprise edition (상업 버전)
linux aws cli 버전 1에서 2로 마이그레이션 문제
docker system info
docker system df
- 도커 이미지
- 개발자가 만들어서 완제품을 만드는게 이미지
- vm을 만들때 iso라는 운영체제 이미지라고 부른다.
- 도커이미지랑 유사한데, 도커 이미지는 폴더이다. 사용하기 편리하기 위해서 디렉토리를 만든다.,
- 여러가지 도커 환경에 필요한 개발한 소스도 넣어놓는다. 그 폴더가 이미지라고 얘기된다.
- 도커 컨테이너
docker search nginx
docker image pull nginx
docker image ls
docker container run -d -p 80(host포트):80(컨테이너 포트) --name webserver0 nginx
docker container ps
docker container ps -a
- 웰컴투 페이지 수정하기
docker container stop 컨테이너 이름
docker container ps
docker container exec -it (이름) bash
find / -name index.html
ecoh "FOOD" > ~
- 이미지 만들기
- 도커파일 만들기
- 개발작업 mkdir 로 폴더를 만들고 시작하는게 좋다.
- 도커파일 만들기
mkdir dockerfile-lab && cd $_
vi Dockerfile
#Step : 1 Ubuntu 최신 베이스 이미지 지정
FROM ubuntu:latest
# STEP: 2 우분투 저장소를 다음 카카오로 변경
RUN sed -i 's/archive.ubuntu.com/ftp.daumkakao.com/g' /etc/apt/sources.list
# SETP : 3 Nginx 설치를 위한 명령어 실행
RUN apt-get update && apt-get install -y -q nginx
# STEP : 4 호스트에 있는 index.html을 컨테이너 안으로 복사
COPY index.html /var/www/html
# STEP : 5 Nginx 데몬 실행
CMD ["nginx", "-g", "daemon off;"]
docker image build -t nginx-sales:v1.0
docker container commit -a "oen142<test@eample.com>" -m "delete index.debi.." webserver-sales nginx-sales:v2.0
docker container stop webserver-sales
docker container rm webserver-sales
docker container rm -f webserver-sales
docker container run -d -p 8080:80 --name webserver-sales nginx-sales:v2.0
mkdir onbuil && cd $_
vi Dockerfile.base
FROM ubuntu:16.04
RUN sed -i 's/archive.ubuntu.com/ftp.daumkakao.com/g' /etc/apt/sources.list
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install nginx
ONBUILD ADD testsite.tar /var/www/html
CMD ["nginx", "-g", "daemon off;"]
FROM web-base
``cp website.tar testsite.tar
docker image build -t web-site:v1.0 .
docker container run -d -p 80:80 --name webserver web-site:v1.0
docker image build -t web-base -f Dockerfile.base .
docker container run -d -p 82:80 --name webserver2 web-site
도커 이미지 도커 허브에 올리기
docker image tag web-site:v1.0 (도커 아이디)oen142/web-site:v1.0
docker login
docker image push oen142/web-site:v1.0
도커 이미지 받기
docker container run -d -p 8282:80 oen142/web-site:v1.0
ECS는 도커 스웜이랑 비슷하다.
EKS로 다 넘어갔을 것이다.
eks
aws configure
aws s3 ls
aws eks --region ap-northeast-2 update-kubeconfig --name MY-CLUSTER
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.9/2020-08-04/bin/linux/amd64/kubectl
chmod +x ./kubectl
cp ./kubectl /usr/local/bin
mkdir -p $HOME/bin && mv ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
kubectl version --short --client
'AWS' 카테고리의 다른 글
AWS IAM Role 이란? (0) | 2021.03.04 |
---|---|
우리는 인프라 환경을 어떻게 구축해야 하는가? - AWS 상담편 (0) | 2020.11.23 |
AWS완전관리형서비스를 이용한 도커 및 쿠버네티스 개발환경구축과정 - 3주차 (0) | 2020.08.22 |
AWS완전관리형서비스를 이용한 도커 및 쿠버네티스 개발환경구축과정 - 2주차 (0) | 2020.08.15 |
AWS완전관리형서비스를 이용한 도커 및 쿠버네티스 개발환경구축과정 - 1주차 (0) | 2020.08.08 |