도커2: AWS EC2에 도커(Docker) 설치 및 Dockerfile로 웹 서버 구동시키기

인생노잼시기·2021년 3월 18일
0

🐳Docker

목록 보기
2/4

https://velog.io/@may_soouu/%EB%8F%84%EC%BB%A4%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 개념 정리해놓은 글
https://jaystevency.tistory.com/20 컨테이너 날리는 방법
http://labs.brandi.co.kr/2021/01/20/hwangsg.html
https://kkensu.tistory.com/60?category=480125 젠킨스로 php 배포하기

도커 설치

도커는 컨테이너를 이미지로 가져와 띄운다

  • 용량 확인
    root@ip-172-31-12-189:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.7G  2.2G  5.6G  28% /
devtmpfs        484M     0  484M   0% /dev
tmpfs           490M     0  490M   0% /dev/shm
tmpfs            98M  808K   98M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           490M     0  490M   0% /sys/fs/cgroup
/dev/loop0       34M   34M     0 100% /snap/amazon-ssm-agent/3552
/dev/loop1       56M   56M     0 100% /snap/core18/1988
/dev/loop2       70M   70M     0 100% /snap/lxd/19188
/dev/loop3       32M   32M     0 100% /snap/snapd/11036
tmpfs            98M     0   98M   0% /run/user/1000
/dev/loop4       33M   33M     0 100% /snap/snapd/11107
/dev/loop5       71M   71M     0 100% /snap/lxd/19647
  • apt 명령어 업데이트
    root@ip-172-31-12-189:/# sudo apt update

공식문서
https://docs.docker.com/engine/install/ubuntu/
참고 블로그
https://antilibrary.org/2630

Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS) 현재 사용 중

  • 필요한 패키지 설치
    root@ip-172-31-12-189:/# sudo apt install apt-transport-https ca-certificates curl software-properties-common

  • 공식 도커 저장소용 gpg키 추가
    root@ip-172-31-12-189:/# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  • apt 소스에 도커 저장소를 추가한다, 우분투의 이름
    root@ip-172-31-12-189:/# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

  • apt 리스트에 도커를 받기 위한 경로가 추가됨
    root@ip-172-31-12-189:/# sudo apt update

  • docker-ce가 설치되어 있는지 확인
    root@ip-172-31-12-189:/# apt-cache policy docker-ce

  • 도커 설치
    root@ip-172-31-12-189:/# sudo apt install docker-ce

  • 시스템 서비스로 구동 중인 도커 확인 가능
    root@ip-172-31-12-189:/# sudo systemctl status docker

  • hello-world 이미지(서버파일)을 가져와보기
    root@ip-172-31-12-189:/# docker pull hello-world

  • 이미지 확인
    root@ip-172-31-12-189:/# docker images

  • 도커 실행시키기
    root@ip-172-31-12-189:/# docker run hello-world

  • 도커 상태 확인
    root@ip-172-31-12-189:/# docker ps -a

  • 컨테이너ID로 컨테이너 끝내기
    root@ip-172-31-12-189:/# docker rm 54a7258a7d99
    그래도 이미지는 남아있음

도커 파일 생성하기

root@ip-172-31-12-189:/# cd /home/ubuntu
root@ip-172-31-12-189:/home/ubuntu# mkdir example
root@ip-172-31-12-189:/home/ubuntu# cd example/
root@ip-172-31-12-189:/home/ubuntu/example# ls
root@ip-172-31-12-189:/home/ubuntu/example# sudo vi Dockerfile 도커파일은 대문자로 시작해야

FROM ubuntu:20.04
MAINTAINER Myeongsim <msi753@naver.com>

RUN apt-get update
RUN apt-get install -y apache2 # Install Apache web server (Only 'yes')

EXPOSE 80 # Open HTTP Port (주석을 달면 안됨)

CMD ["apachectl", "-D", "FOREGROUND"] # D represenets Deamon

현재위치.에서 example이란 태그이름 달고 도커 빌드
root@ip-172-31-12-189:/home/ubuntu/example# docker build -t example .
root@ip-172-31-12-189:/home/ubuntu/example# docker images 로 확인하기

결과
ubuntu 20.04 4dd97cefde62 3 weeks ago 72.9MB

오류...
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.2_amd64.deb 404 Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.1.1f-1ubuntu2.2_amd64.deb 404 Not Found [IP: 91.189.88.152 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

우분투 FOCAL 리포지토리 관련 오류로 보인다
업데이트 리스트를 갱신해준다
sudo sed -i 's/archive.ubuntu/old-releases.ubuntu/' /etc/apt/sources.list
sudo apt-get update
계속 안돼서 20.04에서 18.04버전으로 다시 인스턴스를 생성했다...

  • 포트번호를 같게 해준다
    서버호스트의 포트번호: 컨테이너의 포트번호
    root@ip-172-31-12-189:/home/ubuntu/example# docker run -p 80:80 example

  • 보안 > 인바운드 규칙 편집
    HTTP 80 0.0.0.0/0 ::/0

웹 서버 확인

http://3.34.134.110:80

profile
인생노잼

0개의 댓글