도커 인스톨 가이드 - kuyeol/Document GitHub Wiki

도커 데스크탑

의존성

  • GNOME을 사용하지 않는 경우
  • Docker Desktop에서 터미널 액세스를 활성화하려면 다음을 설치
 sudo apt install gnome-terminal

패키지 직접 다운로드 후 설치

[!caution] 패키지 저장소(apt 등) 사용 방법이 있지만 깔끔하게 설치가 안되는 경험

패키지 사용 설치 링크 : https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

# 파일 다운로드
curl -O https://desktop.docker.com/linux/main/amd64/docker-desktop-amd64.deb?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64

sudo apt-get update

sudo apt-get install ./docker-desktop-amd64.deb

실행

systemctl --user start docker-desktop

부팅 시 자동 실행 등록

systemctl --user enable docker-desktop

확인

docker compose version

도커 데몬 관리

[!note] 포트 변경 , tls 구성

링크 : https://docs.docker.com/engine/daemon/remote-access/

도커 파일 생성

Ubuntu , JDK/GRAALVM , Ubuntu , Maven , Minio_CLI

[!Note]

  • export IMG_NAME=이미지명
  • export VERSION=버전
  • docker build -t $IMG_NAME:$VERSION .
FROM ubuntu:latest

# 2. 기본 툴 설치 및 업데이트
RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    unzip \
    git \
    gcc \
    make \
    libz-dev \
    maven \
    && apt-get clean && rm -rf /var/lib/apt/lists/*


# 3. GraalVM 다운로드 및 설치
WORKDIR /opt
RUN curl -sSL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-amd64-22.3.1.tar.gz -o graalvm.tar.gz && \
    tar -xzf graalvm.tar.gz && \
    mv graalvm-ce-java17-22.3.1 graalvm && \
    rm graalvm.tar.gz
    
# 4. GraalVM 환경 변수 설정
ENV JAVA_HOME=/opt/graalvm
ENV PATH=$JAVA_HOME/bin:$PATH

# 5. MinIO 클라이언트 설치
RUN mkdir -p /root/minio-binaries && \
    curl -sSL https://dl.min.io/client/mc/release/linux-amd64/mc \
    -o /root/minio-binaries/mc && \
    chmod +x /root/minio-binaries/mc
    
ENV PATH="/root/minio-binaries:$PATH"

# 5. 작업 디렉토리
WORKDIR /workspace

# 6. 환경변수 (런타임용)
ENV HOST=182.218.135.247
ENV USERNAME=redis
ENV PASSWORD=redisredis

# 7. 엔트리포인트 스크립트 복사
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

# 8. 포트 노출
EXPOSE 8080

# 9. 실행 커맨드
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["bash"]

[!NOTE] 조합 :

docker run -d --rm --name my-deploy-server -p 8080:80 -v $(pwd):/app  -e ENVIRONMENT=production deploy-server:1.1.2 
  • -d : 백그라운드에서 실행.
  • --rm : 컨테이너 종료 시 삭제.
  • --name my-deploy-server: 컨테이너 이름 지정.
  • -p 8080:80: 호스트의 8080 포트를 컨테이너의 80번 포트에 연결.
  • -v $(pwd):/app: 현재 디렉토리를 컨테이너의 /app 경로로 공유.
  • -e ENVIRONMENT=production: 환경 변수 설정