이 영역을 누르면 첫 페이지로 이동
Puter의 잡동사니 블로그의 첫 페이지로 이동

Puter의 잡동사니

페이지 맨 위로 올라가기

Puter의 잡동사니

잡다한 것이 한데 뒤섞인 곳

컨테이너에서 host의 docker socket 사용

  • 2024.09.27 11:42
  • development
반응형
컨테이너로 구동한 `jenkins`에서 `host`의 `docker socket`를 사용하는 방법

 


 

docker-compose.yml

services:
  jenkins:
    image: jenkins/jenkins:lts-jdk11
    container_name: jenkins
    restart: always
    volumes:
      - ./data:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock:ro # docker.sock를 공유한다
    ports:
      - 55000:5000
      - 8880:8080
    environment:
      - TZ=Asia/Seoul
`docker.sock`를 공유할 수 있도록 `volumes`을 설정한다.

 


 

1. 젠킨스 컨테이너 접근 (root 계정으로)

docker exec -itu root jenkins /bin/bash
아래 설정을 위해 `root` 계정으로 접근한다.

 

2. docker apt repository 구성 및 docker ce 설치

apt-get update && \
apt-get -y install apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common && \
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
   $(lsb_release -cs) \
   stable" && \
apt-get update && \
apt-get -y install docker-ce
설치 중 `Enter`를 눌러야할 때가 있다.

 

3. docker 그룹 생성

groupadd -f docker
생성한 `docker` 그룹의 `gid`와 `host`의 `docker` 그룹의 `gid`가 같아야 함
(다를 경우 컨테이너 내부에서 `vi /etc/group` 명령어를 통해 수정할 것)

 

4. jenkins 그룹 지정

usermod -aG docker jenkins
`jenkins` 계정이 `docker 소켓`을 사용할 수 있도록 `docker` 그룹에 속하도록 설정한다.

 

5. docker.sock 소유자 지정

chown root:docker /var/run/docker.sock
`docker` 그룹에 속한 계정(`jenkins`)이 `docker 소켓`을 사용할 수 있도록 `docker.sock`의 소유자를 재설정한다.

 

6. docker 컨테이너 재시작

docker compose restart
재시작 후 젠킨스를 통해 `docker` 명령어가 작동하는지 확인한다.

 


 

끝.

반응형
저작자표시 비영리 변경금지 (새창열림)

'development' 카테고리의 다른 글

linux disk mount  (0) 2024.09.15
nginx-proxy-manager: Cloudflare 인증서 갱신 오류  (0) 2024.09.09
postgres primary/replica  (0) 2024.09.08
JOOQ 비관적 잠금  (0) 2024.09.06
라즈베리파이 HID  (0) 2024.07.29

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • linux disk mount

    linux disk mount

    2024.09.15
  • nginx-proxy-manager: Cloudflare 인증서 갱신 오류

    nginx-proxy-manager: Cloudflare 인증서 갱신 오류

    2024.09.09
  • postgres primary/replica

    postgres primary/replica

    2024.09.08
  • JOOQ 비관적 잠금

    JOOQ 비관적 잠금

    2024.09.06
다른 글 더 둘러보기

정보

Puter의 잡동사니 블로그의 첫 페이지로 이동

Puter의 잡동사니

  • Puter의 잡동사니의 첫 페이지로 이동

검색

메뉴

  • ALL
  • #TAG

카테고리

  • Puter의 잡동사니 (164)
    • creation (5)
    • tagging (42)
    • product (63)
    • toy (18)
    • game (2)
    • clothes (4)
    • useful (3)
    • development (27)
반응형

정보

Puter의 Puter의 잡동사니

Puter의 잡동사니

Puter

블로그 구독하기

  • 구독하기
  • 네이버 이웃 맺기
  • RSS 피드

나의 외부 링크

  • kakao pay
  • 구글 Search Console
  • 구글 Analytics
  • 네이버 웹마스터 도구
  • 네이버 Analytics

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Puter.

티스토리툴바