반응형
    
    
    
  Jenkins 컨테이너에서 Docker를 실행하기 위해 Docker 이미지를 만들기(Jenkins in Docker)
- 도커 버전 확인
- 현재 설치된 도커 버전을 확인합니다. BuildKit은 Docker 18.09 버전 이상에서 지원됩니다.
 
docker version$ docker version
Client:
 Cloud integration: v1.0.35+desktop.5
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:28:49 2023
 OS/Arch:           darwin/arm64
 Context:           desktop-linux
Server: Docker Desktop 4.25.2 (129061)
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:31:36 2023
  OS/Arch:          linux/arm64
  Experimental:     true
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0- BuildKit 활성화 확인
- 현재 시스템에서 BuildKit이 활성화되어 있는지 확인합니다.
 
docker buildx version$ docker buildx version
github.com/docker/buildx v0.11.2-desktop.5 f20ec1393426619870066baba9618cf999063886- DOCKER_BUILDKIT 환경 변수 확인
- 환경 변수가 설정되어 있는지 확인합니다.
- BuildKit을 사용하려면 $DOCKER_BUILDKIT 환경 변수는 1로 설정되어야 합니다.
 
echo $DOCKER_BUILDKIT- BuildKit을 사용하여 빌드
- BuildKit을 사용하여 빌드합니다.
 
DOCKER_BUILDKIT=1 docker build -t your_image_name:tag .- Dockerfile 생성
- Dockerfile을 생성합니다. 이 파일에는 Jenkins를 실행하기 위한 설정이 포함됩니다.
 
vim Dockerfile### Docker-in-Docker
FROM jenkins/jenkins:lts
USER root
RUN apt-get update -qq \
    && apt-get install -qqy apt-transport-https ca-certificates curl gnupg2 software-properties-common \
    && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
    && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
    && apt-get update -qq \
    && apt-get -y install docker-ce \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
RUN usermod -aG docker jenkins- Docker CLI 플러그인 설치
docker buildx create --use- Buildx로 다중 플랫폼 이미지 빌드 후 도커 허브에 이미지 업로드 (PUSH)
docker buildx build --platform linux/amd64,linux/arm64 -t anti1346/jenkinsindocker:latest --no-cache --push .- 도커 허브에서 이미지 다운로드 (PULL)
docker pull anti1346/jenkinsindocker:latest- 다중 플랫폼 이미지 정보 확인
docker inspect anti1346/jenkinsindocker:latest --format='{{.Architecture}}'$ docker inspect anti1346/jenkinsindocker:latest --format='{{.Architecture}}'
arm64$ docker inspect anti1346/jenkinsindocker:latest --format='{{.Architecture}}'
amd64- Docker 이미지 실행
- 빌드한 Docker 이미지를 사용하여 Jenkins 컨테이너를 실행합니다.
 
docker run -p 8080:8080 -p 50000:50000 --name jenkins -d anti1346/jenkinsindocker:latest
위 명령어는 호스트의 8080 포트와 50000 포트를 Jenkins 컨테이너에 매핑하며 jenkins는 컨테이너의 이름입니다. 필요에 따라 포트나 컨테이너 이름을 변경할 수 있습니다.
728x90
    
    
  반응형
    
    
    
  '리눅스' 카테고리의 다른 글
| 우분투에서 lsyncd를 사용하여 디렉토리 간에 변경 사항을 실시간으로 동기화하는 방법 (0) | 2023.12.01 | 
|---|---|
| rev 명령어 (0) | 2023.11.29 | 
| Docker Compose를 사용하여 Jenkins를 설치하고 실행하는 방법 (0) | 2023.11.25 | 
| 우분투에서 Redis를 소스 코드로 컴파일하고 설치하는 방법 (0) | 2023.11.24 | 
| Java 프로세스의 메모리 사용량을 확인하는 방법 (0) | 2023.11.20 | 
 
                  
                 
                  
                 
                  
                