일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- rnn
- cloud
- LINUX MASTER
- ChatGPT
- Machine Learning
- Docker
- Github
- ICT멘토링
- API
- Resnet
- 크롤링 개발
- KAKAO
- 국가과제
- 고등학생 대상
- Rocky Linux
- suricata
- VSCode
- Spring Boot
- C언어
- git
- Database
- Kubernetes
- colab
- 인터넷의이해
- 코딩도장
- Python
- OSS
- Spring
- GoogleDrive
- Powershell
- Today
- Total
코딩두의 포트폴리오
Cloud Computing - #13 도커(Docker) 실습 본문
도커(Docker)
Linux 응용 프로그램들을 프로세스 격리 기술을 사용해 컨테이너로 실행,관리하는 오픈 소스 프로젝트
Linux 컨테이너 생성 및 사용을 돕는 컨테이너 기술
도커 이전 환경
개발환경과 테스팅, 운영환경의 차이
전문 엔지니어의 지식에 의지하여 개발 및 서버 운영 -> 협업의 어려움
APP 업데이트, 서버 변경, 재구축, 유지보수의 어려움
도커 등장 이후
한 번 만들어놓은 환경 그대로 사용 가능
모든 엔지니어가 하나의 언어로 협업 가능
SW 업데이트, 서버 유지 보수 용이
도커 vs 가상머신
가상머신: Guest OS 필요 -> 오버헤드 발생
도커: Host OS 공유 -> APP 단위 처리 가능 -> 빠른 실행 및 배포
이미지와 컨테이너
이미지: 기능 정의파일 + 도커 메타데이터 구성
컨테이너: 이미지로 정의된 시스템
[도커 실습]
1. Docker 허브 가입
2. 온라인 Docker 실습 환경 접속
무료 가입 및 인스턴스 생성
3. Docker 컨테이너 생성
web1, web2 생성
1) 웹 서버 컨테이너 만들기 위해 아파치서버 이미지 검색
docker search http
2) 아파치 서버 이미지 다운로드
docker pull httpd
docker images
3) 다운로드 받은 이미지를 활용하여 컨테이너 web1, web2 생성
- docker run : 컨테이너 생성 명령어
- -d (detach) : 백그라운드로 실행 (다른 작업을 셸에서 계속하기 위해)
- --name : 컨테이너 명 지정
- -p : 호스트와 연결할 포트 지정 (Web1의 80번 포트는 호스트의 8001번 연결)
- httpd : 다운로드 받은 이미지명
docker run -d --name web1 -p 8001:80 httpd
docker run -d --name web2 -p 8002:80 httpd
4) 생성된 컨테이너 상태 확인
docker ps
5) 컨테이너 MAC 주소, IP 주소, 포트 구성 확인
docker inspect 컨테이너명(web1 or web2)
6) 컨테이너 접속
각 컨테이너에 접속하여 bash shell 실행
docker exec -it web1 bash
검색해보기: -it 옵션
vim editor에서 나올 때 - esc - :wq - enter
7) 각 컨테이너에 접속 후 index.html 파일 수정
cd htdocs
-> index.html 내용 편집
index.html 위치: /usr/local/apache2/htdocs
vi 편집기 없음 - vim 설치
apt update
apt install vim
vim 편집기로 index.html 편집
8) 각 웹서버 컨테이너 접속
접속 종료
4. 컨테이너 이미지 생성 및 도커허브 업로드
1) Docker.hub 계정으로 로그인
docker login
2) docker commit 및 push / 도커 이미지 생성 및 업로드
docker commit 컨테이너명 도커허브사용자명/생성한이미지명:관리버전
docker commit web1 codingdo/22029343-1:1.0
docker push 도커허브사용자명/생성한이미지명:관리버전
docker push codingdo/22029343-1:1.0
3) 업로드된 이미지 도커허브에서 확인
5. 도커허브 이미지 사용
1) 업로드한 본인 이미지 다운로드
docker pull 도커허브사용자명/다운받을이미지명:버전
docker pull codingdo/22029343-1:1.0
2) 해당 이미지 8003번 포트에 연결하여 컨테이너 생성
docker run -d --name web3 -p 8003:80 httpd
3) 웹 브라우저에서 8003번 접속화면 캡처
'Cloud' 카테고리의 다른 글
Cloud Computing - #14 쿠버네티스(Kubernetes, K8S) 실습 (0) | 2024.06.06 |
---|---|
Cloud Computing - #12 AWS SDK 활용 실습 [IAM, 보안 그룹] (0) | 2024.05.27 |
Cloud Computing - #11 클라우드 보안 기술 실습 2 [ AWS 활용 네트워크 접근 제어, 보안 그룹 설계 ] (0) | 2024.05.27 |
Cloud Computing - #10 클라우드 보안 기술 실습 1 [ AWS 활용 네트워크 접근 제어, 보안 그룹 설계 ] (0) | 2024.05.26 |
Cloud Computing - #9 안전한 클라우드 구축을 위한 보안기술 (0) | 2024.05.09 |