2. aws ec2에 Docker 설치 및 Dockerfile로 웹 서버 구동시키기
aws ec2 인스턴스의 jupyter notebook을 이용하여 docker 개발환경을 설정하고 이미지를 생성하여 서버를 돌리는 실습을 진행하였습니다.
1. sudo apt update
2. sudo apt install apt-transport-https 설치
3. sudo apt install ca-certificates
4.sudo apt install curl
5.sudo apt install softward-properties-common
6.curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
7.sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
8. sudo apt update 다시 실행
9. apt-cache policy docker-ce
10.sudo apt install docker-ce 설치
11. sudo systemctl status docker 도커 엔진이 구동되는지 확인
12. docker pull hello-world -->hello world 이미지를 다운 받음
--여기서 권한이 막히는 경우 생김 아래의 과정으로 권한 문제를 해결한다
a.보통은 docker group이 생겼을테지만, 만약 없으면 생성해준다.
$ sudo groupadd docker
b.docker group에 해당 유저를 추가
$ sudo usermod -aG docker $USER
c. 로그아웃 후 다시 로그인하거나 다음 명령어를 실행시켜야 적용이 된다.
$ newgrp docker
13.docker run hello-world
-->hello world container를 띄움
14. docker ps -a ->사용된 컨테이너 확인
15. docker rm id로 컨테이너 삭제 가능
-docker파일을 만들어보자
cd /home/ubuntu
mkdir example
cd example
sudo vi Dockerfile
--> 아래 코드 입력
FROM ubuntu:18.04
MAINTAINER Junhwan Seok <seok626898@gmail.com>
RUN apt-get update
RUN apt-get install -y apache2
EXPOSE 80
CMD ["apachectl", "-D", "FOREGROUND"]
16. 도커 파일을 빌드해보자
docker build -t example .
. -> 현재 directory 가르킴
example -> example 파일 이름
도커 이미지가 생깁니다!!
17.docker images 명령어로 확인해봅니다
18. docker run -p 80(server port):80(container port) example(image)
이렇게 서버를 돌린다.
apache는 80 포트를 기본 설정으로 사용한다
19. aws에서 보안에서 인바운드 규칙 새로 생성한다
http 유형에 80 포트 설정하고 저장하면
해당 url로 접속 가능하다