리눅스 VM에 Docker 구성(Docker-Compose 포함)

2025. 1. 16. 16:34·Docker

기존 WSL + Docker-Desktop 구성에 이슈가 있어 리눅스 VM에 Docker를 구성함.

  • WSL 과 Docker-Desktop 연동이 한번씩 끊어짐
    • Docker-Desktop은 실행이 되어 있는데 WSL에서 명령어 실행이 안 됨
  • Docker-Desktop 실행 시 행이 걸려 무응답 현상이 종종 발생 됨.

 

그 외에도 docker 컨테이너에 저장 된 데이터를 이전하기 위해 스토리지 정보를 확인 했으나

컨테이너에 설정 된 위치와 Docker-Desktop에 실제 저장 된 위치 정보가 달라 데이터 이전 실패 

  • 구글링에 나온 여러 위치를 찾아봤으나 실제 데이터가 저장 된 위치를 찾지 못함.
  • 리눅스 vm에 구성 된 docker에서는 설정 된 위치에 데이터가 저장 된 것을 확인.

# docker inspect 1d58b9f91a6d | grep -A 10 Mounts
        "Mounts": [
            {
                "Type": "volume",
                "Name": "grafana-storage",
                "Source": "/var/lib/docker/volumes/grafana-storage/_data",
                "Destination": "/var/lib/grafana",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }


설치 환경

  • Ubuntu 22.04.5 LTS
  • Docker version 27.5.0, build a187fa5
  • Docker Compose version v2.32.4

 

도커(Docker) 설치

1. 시스템 업데이트

# apt update
# apt upgrade

 

 

2. 의존성 패키지 설치

# apt install -y apt-transport-https ca-certificates curl software-properties-common

 

 

3. 도커 GPG키 추가

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 

 

4. 도커 레포지토리 설정

# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

 

5. 도커 설치

apt update
apt install -y docker-ce docker-ce-cli containerd.io

 

 

6. 도커 시작 및 활성화

# systemctl start docker

# systemctl enable docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker

# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2025-01-16 07:11:42 UTC; 28s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 2834 (dockerd)
      Tasks: 14
     Memory: 32.3M
        CPU: 476ms
     CGroup: /system.slice/docker.service
             └─2834 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jan 16 07:11:41 docker1 dockerd[2834]: time="2025-01-16T07:11:41.892867362Z" level=info msg="OTEL tracing is not configured, using no>
Jan 16 07:11:41 docker1 dockerd[2834]: time="2025-01-16T07:11:41.893117364Z" level=info msg="detected 127.0.0.53 nameserver, assuming>
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.040744476Z" level=info msg="Loading containers: start."
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.416449311Z" level=info msg="failed to read ipv6 net.ipv6.conf.<bridg>
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.416528311Z" level=info msg="failed to read ipv6 net.ipv6.conf.<bridg>
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.683052222Z" level=info msg="Loading containers: done."
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.709459722Z" level=info msg="Docker daemon" commit=38b84dc containerd>
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.709633323Z" level=info msg="Daemon has completed initialization"
Jan 16 07:11:42 docker1 dockerd[2834]: time="2025-01-16T07:11:42.783679181Z" level=info msg="API listen on /run/docker.sock"
Jan 16 07:11:42 docker1 systemd[1]: Started Docker Application Container Engine.

 

 

7. 설치 확인

# docker --version
Docker version 27.5.0, build a187fa5

 

 

 

도커(Docker) 사용자 추가

1. 도커 사용자 계정 생성(dockeruser)

# adduser dockeruser

 

 

2. docker 그룹에 신규 생성한 사용자 추가 

  • sudo 권한 없이 docker 명령어 사용
  • 사용자 권한 추가 후 다시 로그인해야 변경 사항이 적용 됨
# usermod -aG docker dockeruser

 

 

3. 권한 확인

$ docker --version
Docker version 27.5.0, build a187fa5

 

 

 

도커 컴포즈(Docker-Compose) 설치

컨테이너 수량이 증가하면 언제가 사용하게 될것 같아 미리 설치

 

1. 다운로드 및 설치

  • 최신 버전 확인: https://github.com/docker/compose/releases

 

# curl -L "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

 

2. 실행 권한 부여

# chmod +x /usr/local/bin/docker-compose

 

 

3. 설치 확인

# docker-compose --version
Docker Compose version v2.32.4
저작자표시 비영리 변경금지 (새창열림)
'Docker' 카테고리의 다른 글
  • NTP 서버 구성 (도커 컨테이너, Chrony)
  • Docker 컨테이너 이전 (데이터 포함)
  • Docker Hub Private Repository 구성
  • Windows에 Docker 설치
기억보다는 기록을...
기억보다는 기록을...
내가 보려고 정리하는 글..
  • 기억보다는 기록을...
    메모장
    기억보다는 기록을...
    • 분류 전체보기
      • 클라우드(Azure, AWS, Alibaba)
      • 모니터링(Zabbix,Grafana)
      • 가상화(VMWare, Hyper-V)
      • Docker
      • Ansible
      • Linux
      • Windows
      • 이것저것
      • SQL
      • -------------------------
      • 재테크
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.2
기억보다는 기록을...
리눅스 VM에 Docker 구성(Docker-Compose 포함)
상단으로

티스토리툴바