https://jangcenter.tistory.com/30에서 이어짐
인스턴스 생성
프리티어 생성(Amazon Linux -> t2.micro)
기본 VPC 생성
생성한 기본 VPC 할당
보안그룹에 SSH, HTTP 추가
이후 기본 설정
인스턴스 접속
docker 설치
[ec2-user@~~~~~]$ sudo yum -u upgrade
[ec2-user@~~~~~]$ sudo yum -y install docker
docker 시작하기
[ec2-user@~~~~~]$ sudo service docker start
[ec2-user@~~~~~]$ sudo usermod -aG docker ec2-user #그룹에 사용자추가
[ec2-user@~~~~~]$ newgrp docker #로그아웃후 로그인하거나 해당 명령어를 적용해야함
[ec2-user@~~~~~]$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.0\
-rc2/docker-compose-`uname -s`-`uname -m` -o \
/usr/local/bin/docker-compose #docker-compose 설치
[ec2-user@~~~~~]$ sudo chmod +x /usr/local/bin/docker-compose #실행권한 추가하기
docker-machine설치
[ec2-user@~~~~~]$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine
[ec2-user@~~~~~]$ docker login #로그인경 권한 정상적용 확인
# [ec2-user@~~~~~]$ docker pull <이미지명>:<태그>
[ec2-user@~~~~~]$ docker pull jjr951122/web_application:1.0.1
[ec2-user@~~~~~]$ docker pull jjr951122/mysql:1.0.1
docker run
[ec2-user@~~~]$ docker network create web-network #컨테이너간 연결을 위한 네트워크 생성
[ec2-user@~~~~~]$ docker run -d --name mydb -e MYSQL_ROOT_PASSWORD=1234 -e MYSQL_DATABASE=portfolio -p 3306:3306 --network web-network -v db_data:/var/lib/mysql mysql:5.6
[ec2-user@~~~~~]$ docker run -it --name web --network web-network -p 8080:8080 jjr951122/web_application:1.0.1
mysql 접속
[ec2-user@~~~~~]$ docker exec -it <container-ID> bash
root@~~~:/# mysql -u root -p
DB저장
mysql> create database portfolio DEFAULT CHARACTER SET UTF COLLATE utf8_unicode_ci;
data insert->flush privileges;
도커 컨테이너 실행 확인
인스턴스의 public address로 접근
진행중 문제 발생 및 해결
- Docker-compos로 컨테이너 생성시 정상 동작하지만 생성된 이미지로 실행 시 DB연결이 안됨
- Dockerfile에 DB 접속에 대한 설정을 안함 - 원인 미상
- mysql:8.0의 경우 직접 연결에 대한 보안 옵션 필수 -> mysql:5.6으로 버전을 낮춤
- EC2환경에서 mysql와 web 컨테이너를 연결 시 문제발생
- 처음 mysql에 마운트한 볼륨에 mysql:8.0의 정보가 남아 있어 접속이 막혔었음
'CICD' 카테고리의 다른 글
[Kubernetes] Volume(기본 오브젝트) (0) | 2022.01.04 |
---|---|
[Kubernetes] Service(기본 오브젝트) (0) | 2022.01.03 |
[Kubernetes] Pod(기본 오브젝트) (0) | 2022.01.03 |
쿠버네티스 소개 (0) | 2021.12.28 |
AWS, Docker를 이용한 간단한 웹사이트(1)-docker 작업 (0) | 2021.09.08 |
댓글