Network & Server Factory

개인 공부 기록

Docker 10

[Docker] Docker 설치와 자주 쓰는 명령어 정리

Ubuntu에 Docker를 설치하는 방법부터 이미지·컨테이너 명령, docker run 옵션, docker commit, Dockerfile 명령어, 디스크 정리까지 자주 찾아보는 내용을 한 글에 모았습니다. 개념 설명은 시리즈 본편에 맡기고, 이 글은 필요할 때 펼쳐 보는 레퍼런스로 씁니다.컨테이너부터 Kubernetes까지 시리즈의 부록입니다. 명령이 왜 그렇게 동작하는지는 [Docker] 컨테이너 개념 정리부터 차례로 보면 되고, 전체 순서는 시리즈 목차에 있습니다. 명령과 출력은 Docker Engine 29, Ubuntu 24.04 기준입니다.1. Ubuntu에 Docker 설치설치 방법은 두 가지입니다. 운영 서버는 Docker 공식 apt 저장소를 등록해서 설치하고, 테스트용 VM처럼 빨리..

DevOps/Docker 2026.09.29

[Docker] 컨테이너부터 Kubernetes까지 학습 순서 정리

컨테이너를 처음 배우는 분이 Docker부터 Kubernetes, Azure에서의 운영까지 순서대로 따라올 수 있도록 글을 묶은 시리즈 목차입니다. 앞 글에서 배운 내용을 다음 글에서 이어 쓰도록 구성했으니, 처음이라면 1편부터 차례로 읽는 것을 권합니다.1. 학습 순서1부에서는 컨테이너 한 대를 만들고 다루는 방법을, 2부에서는 여러 서버에 컨테이너를 나눠 띄우고 관리하는 Kubernetes를, 3부에서는 Azure의 AKS에서 실제로 배포하고 운영하는 방법을 다룹니다. Kubernetes의 Pod, Service, Volume은 모두 1부에서 다루는 컨테이너, 네트워크, 볼륨을 여러 서버로 넓힌 개념이라 1부를 먼저 보는 것이 이해가 빠릅니다.1부의 컨테이너, 네트워크, 볼륨이 2부의 Pod, Ser..

DevOps/Docker 2026.09.28

[Docker] Docker Compose로 여러 컨테이너 실행 정리

컨테이너가 여러 개가 되면 docker run 명령을 매번 순서대로 치기 어렵습니다. Docker Compose는 서비스, 네트워크, 볼륨을 YAML 파일 하나에 적고 한 번에 올리고 내리는 도구입니다. 이 글에서는 웹 앱과 Redis로 방문자 수를 세는 예제를 compose.yaml로 만들고, depends_on과 healthcheck, 환경별 설정 분리를 정리합니다.컨테이너부터 Kubernetes까지 시리즈 5편이자 1부 Docker의 마지막 글입니다. 이전 글은 [Docker] 컨테이너 네트워크와 볼륨 정리이고, 전체 순서는 시리즈 목차에 있습니다.1. Compose가 하는 일4편에서는 네트워크를 만들고, 볼륨을 만들고, 컨테이너를 순서대로 띄우는 명령을 하나씩 실행했습니다. Compose는 이 내..

DevOps/Docker 2026.09.28

[Docker] 컨테이너 네트워크와 볼륨 정리

컨테이너는 기본적으로 자기만의 네트워크와 파일시스템을 가집니다. 이 글에서는 컨테이너끼리 이름으로 통신하는 bridge 네트워크, 밖에서 접속하게 하는 포트 매핑, 컨테이너를 지워도 데이터를 남기는 볼륨과 바인드 마운트를 Redis 예제로 정리합니다.컨테이너부터 Kubernetes까지 시리즈 4편입니다. 이전 글은 [Docker] Dockerfile 작성과 멀티 스테이지 빌드 정리이고, 전체 순서는 시리즈 목차에 있습니다.1. 네트워크 드라이버1편에서 본 것처럼 컨테이너는 NET namespace로 자기만의 네트워크 인터페이스와 IP를 가집니다. 이 인터페이스를 어디에 연결할지 정하는 것이 네트워크 드라이버이고, 한 대의 호스트에서는 대부분 bridge를 씁니다. 방식동작용도bridge호스트 안에 가상 ..

DevOps/Docker 2026.09.28

[Docker] Dockerfile 작성과 멀티 스테이지 빌드 정리

Dockerfile은 이미지를 만드는 순서를 적은 파일입니다. 이 글에서는 명령마다 이미지에 무엇이 남는지, 빌드 캐시를 잘 타도록 순서를 정하는 방법, CMD와 ENTRYPOINT의 차이, 그리고 빌드 도구를 최종 이미지에서 빼는 멀티 스테이지 빌드를 Go 웹 서버 예제로 정리합니다.컨테이너부터 Kubernetes까지 시리즈 3편입니다. 이전 글은 [Docker] 이미지와 레이어 정리이고, 전체 순서는 시리즈 목차에 있습니다. 명령어 하나하나의 설명은 [Docker] Dockerfile 명령어 정리에 있습니다.1. Dockerfile이 이미지가 되는 과정docker build를 실행하면 현재 폴더(빌드 컨텍스트)를 BuildKit이라는 빌드 엔진에 보내고, Dockerfile을 위에서부터 한 줄씩 실행..

DevOps/Docker 2026.09.28

[Docker] 이미지와 레이어 정리

이미지는 컨테이너를 만드는 읽기 전용 틀이고, 여러 레이어를 겹쳐 만든 파일시스템입니다. 이 글에서는 레이어가 어떻게 쌓이고 공유되는지, 컨테이너가 파일을 바꿀 때 무슨 일이 일어나는지, 이미지 이름의 태그와 digest가 어떻게 다른지 정리합니다.컨테이너부터 Kubernetes까지 시리즈 2편입니다. 이전 글은 [Docker] 컨테이너 개념 정리이고, 전체 순서는 시리즈 목차에 있습니다.1. 이미지와 컨테이너이미지는 앱을 실행하는 데 필요한 파일과 실행 설정(어떤 명령으로 시작할지, 어떤 환경 변수를 쓸지)을 담은 읽기 전용 묶음입니다. 컨테이너는 이 이미지로 만든 실행 중인 인스턴스입니다. 붕어빵 틀 하나로 붕어빵을 여러 개 굽듯이, 이미지 하나로 컨테이너를 여러 개 띄울 수 있습니다. 항목이미지컨테..

DevOps/Docker 2026.09.28

[Docker] 컨테이너 개념 정리

컨테이너는 앱과 실행에 필요한 파일을 한 묶음으로 만들어, 호스트의 커널 위에서 격리된 프로세스로 실행하는 방식입니다. 이 글에서는 가상 머신과 무엇이 다른지, 리눅스의 namespace와 cgroup이 격리를 어떻게 만드는지, Docker가 어떤 구성 요소를 거쳐 컨테이너를 띄우는지 정리합니다.컨테이너부터 Kubernetes까지 시리즈 1편입니다. 전체 순서는 시리즈 목차에 있고, Docker 설치는 [Docker] Docker 설치와 자주 쓰는 명령어 정리를 참고합니다.1. 컨테이너가 필요한 이유"제 PC에서는 되는데 서버에서는 안 돼요"는 대부분 실행 환경 차이에서 생깁니다. 파이썬 버전, 설치된 라이브러리, OS 설정이 조금만 달라도 같은 코드가 다르게 동작합니다. 컨테이너는 앱과 앱이 쓰는 라이..

DevOps/Docker 2026.09.28

[Kubernetes] 토큰 만료 후 워커 노드 추가

클러스터를 만든 뒤 시간이 지나 새 워커 노드를 붙이려 하면 토큰 만료 오류로 join이 실패합니다. kubeadm 토큰은 유효 기간이 있기 때문으로, 토큰을 새로 만들고 CA 인증서 해시를 확인해 다시 join하면 됩니다.1. 증상초기 구성이 아니라 나중에 새 워커 노드를 추가하려고 kubeadm join을 실행하면, 토큰이 만료됐다는 오류와 함께 노드가 마스터에 붙지 않습니다.2. 원인노드 조인용 토큰은 발급할 때 유효 기간(EXPIRES)이 정해져 있습니다. 아래 명령으로 토큰과 만료 시각을 볼 수 있습니다.kubeadm token list토큰 목록과 EXPIRES 유효한 토큰이 있으면 그대로 쓰고, 없으면 새로 만들어야 합니다.3. 해결3.1 토큰 생성kubeadm token createkubea..

DevOps/Kubernetes 2021.11.02

[Kubernetes] Dashboard 설치하고 토큰으로 접속

Kubernetes Dashboard v1.10.1을 배포하고 kubectl proxy로 접속한 뒤, 서비스 계정 Secret의 토큰으로 로그인했습니다.이 글은 작성 당시 버전(v1.10.1) 기준입니다. 최신 Dashboard는 설치 방법과 네임스페이스가 다르므로 공식 저장소를 확인해 주세요.1. Dashboard 설치kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml2. 접속kubectl proxy를 백그라운드로 실행합니다.kubectl proxy &브라우저에서 아래 주소로 접속합니다.http://localhost:8001/..

DevOps/Kubernetes 2021.07.05

[Synology] DSM Docker 패키지로 컨테이너 실행

Synology NAS에 Docker 패키지를 설치하고, 레지스트리(Docker Hub)에서 이미지를 받아 컨테이너를 실행했습니다. NAS가 재시작돼도 컨테이너가 다시 올라오도록 자동 재시작을 켰습니다.1. Docker 설치DSM에 로그인해 패키지 센터에서 Docker를 검색해 설치합니다.설치가 끝나면 Docker를 실행합니다.Docker 첫 화면2. 이미지 받기아직 이미지가 없으므로 레지스트리 탭으로 이동합니다. 레지스트리는 Docker Hub의 이미지 목록을 불러와 보여 주는 화면입니다. 원하는 이미지를 검색해 다운로드합니다.레지스트리에서 이미지 검색 다운로드가 끝나면 이미지 탭에서 이미지를 선택하고 실행을 누릅니다.3. 컨테이너 생성3.1 이름컨테이너 이름을 정합니다. 다른 컨테이너와 겹치지 않게 ..

Hardware/NAS 2021.05.21
서울
--:--:--
-전체 글
-카테고리
오늘 방문