[도커] 도커 13: 도커 스웜
·
클라우드/도커
지난 시간에는 도커 컴포즈, 포트 포워딩을 알아봤다. 이번 시간에는 도커 스웜을 알아보자도커 스웜?지금까지는 도커가 설치되어 있는 하나의 컴퓨터(=하나의 도커 서버)에서 컨테이너를 관리했다 이제부터, 여러 개의 도커 서버를 두어 관리하자!  🙋‍♀️ 도커 스웜 장점✔️컨테이너를 배치할 수 있는 호스트 컴퓨터의 영역이 넓어짐✔️가용할 수 있는 모든 도커 서버를 묶어 클러스터로 관리 ✔️서로 다른 물리적 위치에 있어도 클러스터로 관리 가능 클러스터여러 대의 도커 서버를 둔다 했다!이때, 하나로 관리하기 위해 클러스터로 묶어 관리한다 🙋‍♀️매니저 노드 도커 스웜을 전반적으로 관리(워커 노드에 컨테이너를 어떻게 배치할 지 등을 고려) 🙋‍♀️워커 노드 컨테이너 실행과 관리 작업을 수행 🙋‍♀️전체적인 ..
[도커] 도커 12: 포트 포워딩, 컨테이너 외부 노출
·
클라우드/도커
직전에 알아본 도커 컴포즈 중, 포트 포워딩이라는 단어가 나왔다.이번 시간에는 포트 포워딩이 뭔지 알아보자외부 노출?컴퓨터에 돌아가는 프로그램(=컨테이너, 웹 브라우저, …) 를 외부에(=네트워크에) 노출시키자 ex)현재 컴퓨터는 네트워크에 연결되어 있음 ➔ 웹 브라우저 프로그램 실행 시 네트워크에 연결된다= 웹 브라우저 프로그램은 네트워크에 노출되어 있다 🙋‍♀️ 외부 노출하는 방법네트워크에서 해당 프로그램을 찾아갈 수 있다면 외부 노출 가능 네트워크에서 해당 프로그램을 찾아가기 위해, 네트워크에서 유일하게 해당 프로그램을 구분할 주소 필요 ➔ IP주소 (컴퓨터) + 포트주소 (컴퓨터 속 수많은 프로그램 중 하나) 🙋‍♀️ IP주소?- 네트워크 상 컴퓨터를 구분하기 위한 주소- 하나의 컴퓨터라 하더..
[도커] 도커 11: 도커 컴포즈 2
·
클라우드/도커
지난 시간에 이어 도커 컴포즈를 더 알아보자Docker compose service의 각 컨테이너 주요 옵션 지난 시간 이런 도커 컴포즈 파일을 알아봤다.version: '3.3'services: db: container_name: db image: “mysql:5.7” networks: - testNet ubuntu: container_name: ubuntu image: “ubuntu:22.04” volumes: - testVol:/home/volumes networks: - testNet command: apt-get update depend_on: - dbnetworks: testNet:volumes: ..
[도커] 도커 10: 도커 컴포즈 1
·
클라우드/도커
지난 시간까지는 도커 컨테이너, 도커 이미지를 알아봤다.이번 시간에는 도커 컴포즈를 간단히 알아보자도커 컴포즈지금까지는 도커 컨테이너를 알아보고,그것을 만들기 위한 도커 이미지, 그리고 도커 이미지 생성을 위한 Dockerfile을 알아봤다. 이번에는 도커 컨테이너가 여러 개인 경우를 알아보자. 도커 컨테이너를 여러 개 두는 경우는예를 들어 DB, 백엔드, 프론트엔드를 여러 개 두어하나의 서비스를 제공하는 것이 있다. 즉, DB 컨테이너 / 백엔드 컨테이너 / 프론트엔드 컨테이너가 있는 것이다. 이를 위해 각각의 컨테이너의 이미지를 정의하고, 서비스 실행을 위한 설정 사항을 한 파일에 넣는다.이 파일을 run하면 한번에 서비스를 가동시키는 것이다! 정리해보면,- 여러 개의 컨테이너로 이루어진 시스템의 구..
[도커] 도커 9: 도커 컨테이너 상세 조회 명령어 모음
·
클라우드/도커
지난 시간에는 도커 이미지에 대해 더 알아보았다.이번 시간에는 도커 컨테이너에 대해 상세 조회 명령어를 알아보자docker inspect container (컨테이너id/이름) # id, 상태, pid, memory, cpu 등 container 상세정보 조회컨테이너 상세 정보를 전부 조회하는 명령어로,yaml 형태로 확인할 수 있다 docker logs (컨테이너id/이름) # 컨테이너가 생성한 출력(STDOUT, STDERR) 확인, 로그 확인도커 컨테이너의 로그를 확인하는 명령어다. docker stats # 실시간, 컨테이너가 사용하는 자원량(CPU, MEMORY, ..) 조회도커 컨테이너의 데이터 자원을 실시간으..
[도커] 도커 8: 도커 이미지 심화
·
클라우드/도커
지난번에는 Dockerfile을 통한 이미지 구축을 알아봤었다!오늘은 조금 더 이미지에 대해 알아보자!도커 이미지 등록 (Docker Hub)도커파일로, 또는 도커 컨테이너(docker commit)로부터 이미지를 만들 수 있었다! 이제, 이 파일을 전세계 어디서나 조회하고 사용할 수 있도록 도커 허브에 등록해보자!docker tag my-image:0.0 my_account/my-image:0.0 # 이미지명 수정docker logindocker push my_account/my-image:0.0 단, docker hub에 등록하기 위해 이미지명을 [계정명]/(이미지명):(태그)  형식으로 맞춰야 한다 !  그리고, docker push 전에 docker에 로그인해야 한다.그러므로 https:/..
[도커] 도커 7: 도커볼륨?(+ Dockerfile VOLUME)
·
클라우드/도커
지난시간에는 도커파일 중 ENV를 알아보고, 환경변수도 알아봤다! 이번 시간에는 도커파일의 VOLUME을 알아보자!호스트 파일 컨테이너 파일 전송호스트, 컨테이너 간 파일 전송이 필요할 때가 있다. 예를 들어 컨테이너의 로그 파일을 호스트 파일로 가져와 분석하는 경우가 있다!  🙋‍♀️ docker cp 명령어docker cp [host파일] [container name]:[container경로]host ➔ container docker cp [container name]:[container경로][host파일]container ➔ host볼륨 마운트로 호스트 컨테이너 파일 공유docker cp 명령어 말고도,볼륨 마운트 방식으로 공유 가능하다! 🙋‍♀️볼륨컴퓨터, USB 메모리, 하드디스크 등의 ..
[도커] 도커 5: docker 파일 2 (Dockerfile) - 도커 명령어
·
클라우드/도커
지난 시간에 이어,Dockerfile을 더 알아보자!도커 파일 - 명령어 정리도커 파일의 주요 instruction 중 명령어를 알아보자. - 공통점: 도커 컨테이너에게 명령을 내린다- 차이점: 명령어 실행 시점이 다르다  🙋‍♀️명령어 전달(실행) 방식 2가지Docker파일의 명령어는컨테이너에게 명령을 내린다고 했다. 이때, exec 방식또는shell 방식으로 명령어를 전달할 수 있다. exec 방식 ["echo", "hi"]shell 방식echo hi  🙋‍♀️1. RUN[실행 시점] 도커 파일로부터 이미지 빌드 시 실행되는 명령어 - 주로 라이브러리 설치 시 많이 사용- 새로운 이미지 layer 생성- 하나의 Dockerfile에 여러번 지정 가능FROM python:latestRUN [“pip..