Install Docker on Naver Cloud Instance

minpractice_jhj·2025년 3월 24일

Installation

목록 보기
1/2

1. 시스템 업데이트 및 필수 패키지 설치

먼저, 시스템을 업데이트하고 필요한 패키지를 설치합니다.

sudo apt-get update
sudo apt-get install ca-certificates curl

2. Docker GPG 키 설정

Docker 저장소의 GPG 키를 추가합니다.

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

3. Docker 저장소 추가

Docker의 APT 저장소를 추가합니다.

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. Docker 설치

이제 Docker를 설치합니다.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5. Docker 테스트

Docker가 정상적으로 설치되었는지 확인하기 위해 Hello World 이미지를 실행합니다.

sudo docker run hello-world

6. Docker 이미지 및 버전 확인

설치된 Docker 이미지와 버전을 확인합니다.

sudo docker images
sudo docker version

7. Docker 서비스 설정

Docker가 시스템 부팅 시 자동으로 시작되도록 설정하고, 서비스를 시작합니다.

sudo systemctl enable docker
sudo systemctl start docker
sudo service docker status

이 명령어를 실행했을 때 Active: active (running) 메시지가 나타나면 Docker가 정상적으로 실행되고 있는 것입니다.

8. Kubernetes 설치를 위한 Snap 설치

Kubernetes를 설치하기 위해 Snap 패키지 관리자를 설치합니다.

sudo apt update
sudo apt install snapd

9. Snap 설정

Snap의 홈 디렉토리를 설정합니다.

sudo snap set system homedirs=/var/lib

10. Docker 소켓 권한 설정 (필요할 경우)

Docker 소켓에 대한 권한을 설정합니다. 이 단계는 일부 환경에서는 생략할 수 있습니다.

sudo chmod 666 /var/run/docker.sock

11. Hello World Snap 설치 (테스트 용도)

Snap으로 Hello World를 설치하여 Snap이 제대로 작동하는지 확인합니다.

sudo snap install hello-world

12. Kubernetes 설치

Kubernetes의 kubectl 명령어를 설치합니다.

sudo snap install kubectl --classic
  • kubectl 버전 확인: 설치된 kubectl의 버전을 확인합니다.
    kubectl version --client
    이 명령어를 통해 클라이언트 버전 정보를 확인할 수 있습니다.
  • Kubernetes 클러스터 연결 확인: 클러스터가 설치되지 않았더라도 kubectl이 제대로 설치되었는지 확인할 수 있습니다.
    kubectl cluster-info

13. ncp-iam-authenticator 설치

  • 설치 문서에 따라 ncp-iam-authenticator를 설치합니다.

14. ncp-iam-authenticator 권한 주기

cd /usr/bin
chmod +x ./ncp-iam-authenticator
ls -l /usr/bin/ncp-iam-authenticator

15. Ncloud Kubernetes Service 생성

NCP 콘솔에서 Kubernetes 클러스터를 생성합니다. 생성 후 클러스터 UUID를 기록해 둡니다.

16. kubeconfig.yaml 생성

  1. ncloud 디렉토리 생성:

    mkdir -p ~/.ncloud
  2. configure 파일 생성:

    touch ~/.ncloud/configure
  3. kubeconfig 파일 생성:

    cd ~/.ncloud
    ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid <YOUR_CLUSTER_UUID> --output kubeconfig.yaml
    • <YOUR_CLUSTER_UUID>Ncloud Kubernetes Service의 클러스터 UUID로 바꿉니다.
  4. 인증 정보 입력:

    Ncloud Access Key Id []: B93C5A01D2C3EDEFDA4D
    Ncloud Secret Access Key []: AAC1613AE24201F432707E7F73618CE0E9476766
    Ncloud API URL []: https://ncloud.apigw.ntruss.com/
    • 네이버 클라우드 계정 관리 → 인증키 관리 : Access Key/ Secret Key

17. kubeconfig 파일 이동

sudo cp kubeconfig.yaml ~/.ncloud

18. .bashrc 파일 수정

  1. .bashrc 파일 열기:

    bash
    코드 복사
    vi ~/.bashrc
  2. 맨 아래로 이동하여 환경 변수 추가:

    export KUBE_CONFIG=$HOME/.ncloud/kubeconfig.yaml
    • 입력 모드로 전환: Shift + O
    • 저장 및 종료: Esc 키를 누른 후 :wq 입력

19. 도커 hub 레포지토리 에 이미지 push(필요한 레포지토리 생성필요 )

  1. Docker 이미지 빌드 및 목록

    docker-compose build
    • 빌드할 이미지 목록:
    • biday/eureka-server
      biday/sms-service
      biday/user-service
      biday/gateway-server
      biday/ftp-service
      biday/admin-service
      biday/product-service
      biday/auction-service
      biday/order-service
      biday/config-server
  2. Docker Hub 로그인:

    docker login
  3. 이미지 태그 지정:
    각 이미지를 새로운 태그로 지정합니다. 아래 명령어들을 실행하세요.

    ```bash
    docker tag biday/product-service:latest hwijae/biday-product-service:1.0
    docker tag biday/order-service:latest hwijae/biday-order-service:1.0
    docker tag biday/gateway-server:latest hwijae/biday-gateway-server:1.0
    docker tag biday/ftp-service:latest hwijae/biday-ftp-service:1.0
    docker tag biday/auction-service:latest hwijae/biday-auction-service:1.0
    docker tag biday/user-service:latest hwijae/biday-user-service:1.0
    docker tag biday/admin-service:latest hwijae/biday-admin-service:1.0
    docker tag biday/eureka-server:latest hwijae/biday-eureka-server:1.0
    docker tag biday/config-server:latest hwijae/biday-config-server:1.0
    ```
  4. 이미지 푸시:

    docker push hwijae/biday-product-service:1.0
    docker push hwijae/biday-order-service:1.0
    docker push hwijae/biday-gateway-server:1.0
    docker push hwijae/biday-ftp-service:1.0
    docker push hwijae/biday-auction-service:1.0
    docker push hwijae/biday-user-service:1.0
    docker push hwijae/biday-admin-service:1.0
    docker push hwijae/biday-eureka-server:1.0
    docker push hwijae/biday-config-server:1.0

20. Docker 소켓 권한 설정

Docker 소켓의 권한을 설정하여 Jenkins가 Docker에 접근할 수 있도록 합니다.

# 현재 권한 확인
ls -l /var/run/docker.sock

# 권한을 777로 변경
sudo chmod 777 /var/run/docker.sock

# 변경 후 권한 확인
ls -l /var/run/docker.sock

21. Jenkins 키 추가 및 소스 목록 설정

Jenkins 패키지의 GPG 키를 추가하고 소스 목록을 설정합니다.

# Jenkins GPG 키 다운로드
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
  https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

# Jenkins 소스 목록 추가
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | \
  sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

# 패키지 목록 업데이트
sudo apt-get update

22. Jenkins 설치

Jenkins를 설치합니다.

sudo apt-get install jenkins

23. Java 설치

Jenkins가 실행되기 위해 필요한 Java를 설치합니다.

sudo apt update

#OpenJDK 17 JDK **설치**
sudo apt install fontconfig openjdk-17-jre

# Java 버전 확인
java -version
  • Jenkins 에서 JDK installations 경로 못찾을경우

    1. Java Compiler 버전 확인

    먼저, 현재 설치된 Java Compiler의 버전을 확인합니다.
    bash
    코드 복사
    /usr/lib/jvm/java-17-openjdk-amd64/bin/javac -version
    

    2. OpenJDK 17 JDK 제거 (필요한 경우)

    기존에 설치된 OpenJDK 17 JDK를 제거합니다. 이 단계는 이미 설치된 JDK에 문제가 있을 때만 수행하세요.
    bash
    코드 복사
    sudo apt remove --purge openjdk-17-jdk
    

    3. 패키지 목록 업데이트

    패키지 목록을 업데이트합니다.
    bash
    코드 복사
    sudo apt update
    

    4. OpenJDK 17 JDK 설치

    OpenJDK 17 JDK를 다시 설치합니다.
    bash
    코드 복사
    sudo apt install openjdk-17-jdk
    

    5. 설치된 Java 파일 확인

    Java 설치 후, 설치된 파일을 확인합니다.
    bash
    코드 복사
    ls /usr/lib/jvm/java-17-openjdk-amd64/bin
    

    6. JAVA_HOME 및 PATH 환경 변수 설정

    Java 환경 변수를 설정합니다. 이 설정은 터미널 세션에만 적용되므로, 지속적으로 적용하려면 아래 단계를 추가로 진행해야 합니다.
    bash
    코드 복사
    # JAVA_HOME 설정
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    
    # PATH에 추가
    export PATH=$JAVA_HOME/bin:$PATH
    

    7. 환경 변수 영구 적용 (선택 사항)

    환경 변수를 영구적으로 적용하기 위해 .bashrc 파일에 추가합니다.
    bash
    코드 복사
    echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> ~/.bashrc
    echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
    
    # 변경 사항 적용
    source ~/.bashrc
    

24. Jenkins 서비스 관리

Jenkins 서비스가 부팅 시 자동으로 시작되도록 설정하고, 서비스를 시작합니다.

# Jenkins 서비스 부팅 시 자동 시작 설정
sudo systemctl enable jenkins

# Jenkins 서비스 시작
sudo systemctl start jenkins

# Jenkins 서비스 상태 확인
sudo systemctl status jenkins
profile
운동처럼 개발도 작은 실천이 성장의 힘이 된다고 믿는 개발자 minpractice_jhj 기록

0개의 댓글