도커 인스톨 가이드 - 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 구성
도커 파일 생성
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: 환경 변수 설정