목록DevOps (91)
우노
이 글에선 docker를 이용한 MySQL 설치 및 접속 방법에 대해 알아볼 것이다. Docker가 설치되는 환경은 EC2 라고 가정한다. docker 설치 sudo yum update -y sudo yum install docker -y sudo service docker start sudo usermod -a -G docker ec2-user # 재접속 MySQL 이미지 다운 # 최신버전의 MySQL 이미지 다운로드 docker pull mysql # 가져온 이미지 확인 docker images MySQL 이미지를 사용해 컨테이너 생성 # mysql container DB를 저장할 저장소 mkdir mysqldata # MySQL 이미지를 사용해 컨테이너 생성 docker run -d -p 3306:..
Dockerfile Dockerfile은 DockerImage를 생성하기 위한 스크립트(설정파일)이다. 여러가지 명령어를 토대로 Dockerfile을 작성한 후 빌드하면 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하며 DockerImage를 생성해준다. Dockerfile을 읽을 줄 안다는 것은 해당 이미지가 어떻게 구성되어 있는지 알 수 있다는 의미이다. Dockerfile의 장점 (1) 이미지가 어떻게 만들어졌는지를 기록한다. 보통 사람들은 완성된 이미지를 가져다 쓰기 때문에 이미지가 어떻게 만들어졌는지에 대해서는 알 필요가 없다. 그러나 개발자의 경우라면 조금 다르다. 어떠한 애플리케이션을 담고 있는 이미지가 설치 되기 위한 과정은 어떠한지, 중간에 어떠한 과정을 수정해야 하는..
AWS란? AWS(Amazon Web Service)는 아마존닷컴의 클라우딩 컴퓨팅 사업부이다. 현재 클라우드 분야에서 세계1위의 점유율을 차지하고 있다. 간단하게 말하자면 컴퓨터의 모든 기능을 AWS를 이용해 직접 서버나 컴퓨터를 구매하지 않고 간단하게 구현할 수 있다. EC2란? Elastic Compute Cloud — 줄여서 EC2라고 한다. EC2는 AWS 서비스의 핵심으로써 사용자는 아마존의 가상컴퓨터를 임대받아 그 위에 자신만의 컴퓨터 프로그램을 실행해 원하는 기능을 컴퓨터를 따로 살 필요 없이 필요한 성능, 용량만큼 간단하게 구축할 수 있다. 이 서비스는 CPU사용량(연산횟수)으로 결제하는 것이 아닌 인스턴스를 켜 놓은 시간을 기준으로 결제하는 구조다. EC2 인스턴스 생성 AWS 에 접속..
AWS란? AWS(Amazon Web Service)는 아마존닷컴의 클라우딩 컴퓨팅 사업부이다. 현재 클라우드 분야에서 세계1위의 점유율을 차지하고 있다. 간단하게 말하자면 컴퓨터의 모든 기능을 AWS를 이용해 직접 서버나 컴퓨터를 구매하지 않고 간단하게 구현할 수 있다. EC2란? Elastic Compute Cloud — 줄여서 EC2라고 한다. EC2는 AWS 서비스의 핵심으로써 사용자는 아마존의 가상컴퓨터를 임대받아 그 위에 자신만의 컴퓨터 프로그램을 실행해 원하는 기능을 컴퓨터를 따로 살 필요 없이 필요한 성능, 용량만큼 간단하게 구축할 수 있다. 이 서비스는 CPU사용량(연산횟수)으로 결제하는 것이 아닌 인스턴스를 켜 놓은 시간을 기준으로 결제하는 구조다. EC2 인스턴스 생성 AWS 에 접속..
시작하기에 앞서 2013년 등장한 도커(docker)는, 인프라 세계를 컨테이너(container) 세상으로 바꿔버렸습니다. 수많은 애플리케이션이 컨테이너로 배포되고, 도커파일을 만들어 이미지를 빌드하고 컨테이너를 배포하는 게 흔한 개발 프로세스가 되었습니다. 2019년 DockerCon 발표에선 무려 1052억번의 컨테이너 image pull이 발생했다고 합니다. 이러한 도커의 인기와 함께 쿠버네티스(kubernetes)의 인기도 엄청나게 치솟고 있습니다. 클라우드와 관련된 행사에 가면 여기저기서 다음과 같은 이야기를 들을 수 있습니다. 쿠버네티스 클러스터에 Deployment를 배포하고 Ingress를 연결하자. Nginx말고 Traefik Ingress도 좋다던데? AWS에 설치할 땐 kops가 좋..
도커와 쿠버네티스 비교 예시 컨테이너를 하나만 띄워서 사용해야지! => 도커 0월 0시에, 100개의 컨테이너를 자동으로 생성해야지! => 쿠버네티스 즉, 도커는 ’이미지를, 컨테이너에 띄우고 실행하는 기술’이고 쿠버네티스는 '도커를 관리하는 툴'이라고 생각하시면 됩니다. 따라서, 도커는 '한 개의 컨테이너를 관리’하는 데 최적화 되어있고, 쿠버네티스는 '여러 개의 컨테이너를, 서비스 단위로 관리’하는 데 최적화 되어있습니다. 도커란? 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼' 입니다. 그렇다면, 컨테이너란 무엇일까요? 컨테이너는, ‘애플리케이션’과 ‘애플리케이션을 구동하는 환경’을, ‘Host OS’ 로부터 격리한 공간을 의미합니다. 컨테이너는 보통 마..
도커파일 생성 생성 방법 https://wooono.tistory.com/123 Image 생성 docker build -t [이미지이름:태그] [도커파일위치] Image 확인 docker images 이미지 삭제 docker rmi [이미지]
이미지를 사용해 컨테이너 생성 명령어 구조 docker run [옵션] [컨테이너이름] [옵션] [이미지[:TAG|@DIGEST]] [명령어] [매개변수] 사용 예1 docker run --name kubia-container -p 8080:8080 -d kubia 사용 예2 docker run --name unho-spark -it kmubigdata/ubuntu-spark bash 옵션 -d detached mode 흔히 말하는 백그라운드 모드 -p 호스트와 컨테이너의 포트를 연결 (포워딩) -v 호스트와 컨테이너의 디렉토리를 연결 (마운트) -e 컨테이너 내에서 사용할 환경변수 설정 -name 컨테이너 이름 설정 -rm 프로세스 종료시 컨테이너 자동 제거 -it -i와 -t를 동시에 사용한 것으로 ..
AWS EC2 Linux 환경에 Docker 설치 # 패키지 업데이트 sudo yum update -y # docker 설치 sudo yum install docker -y # docker 서비스 실행 sudo service docker start # ec2-user를 docker 그룹에 추가 sudo usermod -a -G docker ec2-user # 모든 명령 실행 후, 재접속AWS EC2 Ubuntu 환경에 Docker 설치 # 패키지 업데이트 sudo apt-get update -y # 기존에 있던 도커 삭제 sudo apt-get remove docker docker-engine docker.io -y # 도커 설치 sudo apt-get install docker.io -y # docke..
1. Network 확인 docker network ls 2. Network 생성 bridge 계열의 my-bridge-network 명의 네트워크를 만든다. docker network create -d bridge my-bridge-network 3. 네트워크 내부에 2가지 컨테이너 생성 --net을 사용해 컨테이너가 사용할 네트워크를 지정 새로운 컨테이너를 생성하는데 이 컨테이너는 해당 네트워크 안에 소속됨 // kubia-container-1를 my-bridge-network안에 생성 docker run -d --name kubia-container-1 --net my-bridge-network kubia // ubuntu-container를 my-bridge-network안에 생성 // 이미지는 ..