aihubshell Docker 이미지 πŸš€

aihubshell Docker 이미지 πŸš€

νƒœκ·Έ
생성 μΌμ‹œ
Feb 2, 2025 07:12 AM
μ΅œμ’… νŽΈμ§‘ μΌμ‹œ
Last updated February 2, 2025
aihubshell_image
jjh4450 β€’ Updated Mar 11, 2025

aihubshell Docker 이미지 (비곡식) πŸš€

AI Hubμ—μ„œ CLI둜 데이터λ₯Ό λ‹€μš΄λ‘œλ“œν•  수 μžˆλŠ” 툴인 aihubshell을 Docker둜 κ°„λ‹¨νžˆ μ‹€ν–‰ν•  수 μžˆλ„λ‘ κ΅¬μ„±ν•œ 비곡식 μ΄λ―Έμ§€μž…λ‹ˆλ‹€.
λ³Έ μ΄λ―Έμ§€λŠ” Alpine Linux 기반으둜 μ œμž‘λ˜μ—ˆμœΌλ©°, μ‚¬μš© 전에 AI Hub 이용 약관을 λ°˜λ“œμ‹œ μˆ™μ§€ν•˜κ³ , 데이터셋 λ‹€μš΄λ‘œλ“œ 승인 μ—¬λΆ€ 등을 사전에 ν™•μΈν•œ ν›„ μ‚¬μš©ν•΄μ£Όμ„Έμš”.

πŸ“š λͺ©μ°¨

  1. κ°œμš”
  1. 이미지 κ°€μ Έμ˜€κΈ°
  1. μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰
  1. docker-compose μ‚¬μš©
  1. μ‚¬μš© μ˜ˆμ‹œ
  1. μ£Όμ˜μ‚¬ν•­
  1. λ³΄μ•ˆ 및 법적 κ³ μ§€
  1. λΌμ΄μ„ μŠ€

πŸ’‘ κ°œμš”

AI Hubμ—μ„œ μ œκ³΅ν•˜λŠ” ν•™μŠ΅μš© λ°μ΄ν„°λŠ” aihubshell μœ ν‹Έλ¦¬ν‹°λ₯Ό 톡해 터미널(λͺ…령쀄)μ—μ„œ κ°„λ‹¨νžˆ λ‹€μš΄λ‘œλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ³Έ μ €μž₯μ†Œμ—μ„œλŠ” aihubshell이 미리 μ„€μΉ˜λœ Docker 이미지λ₯Ό μ œκ³΅ν•¨μœΌλ‘œμ¨:
  • μ„€μΉ˜ νŽΈμ˜μ„±: 별도 ꡬ성 없이 docker pull ν›„ λ°”λ‘œ μ‚¬μš©
  • ν™˜κ²½ 격리: 호슀트 OS에 영ν–₯ 없이 λ™μΌν•œ ν™˜κ²½ 보μž₯
  • 이식성: Windows, Mac, Linux λ“± μ–΄λ””μ—μ„œλ‚˜ μΌκ΄€λœ μ‹€ν–‰ κ°€λŠ₯

Dockerfile μ£Όμš” λ‚΄μš©(μš”μ•½)

FROM alpine:latest RUN apk update && apk add --no-cache curl unzip RUN curl -o "aihubshell" <https://api.aihub.or.kr/api/aihubshell.do> \\ && chmod +x aihubshell \\ && cp aihubshell /usr/bin ENTRYPOINT ["/bin/sh"]
  • apk addλ₯Ό 톡해 curlκ³Ό unzip μ„€μΉ˜
  • aihubshell λ‹€μš΄λ‘œλ“œ 및 μ‹€ν–‰ κΆŒν•œ λΆ€μ—¬

πŸ“₯ 이미지 κ°€μ Έμ˜€κΈ°

이미 λΉŒλ“œλœ 이미지λ₯Ό GHCRμ—μ„œ 직접 λ°›μ•„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
docker pull ghcr.io/jjh4450/aihubshell_unofficial:latest
μ›ν•˜μ‹œλŠ” λ‹€λ₯Έ 버전 νƒœκ·Έκ°€ μžˆλ‹€λ©΄ :latest λŒ€μ‹  ν•΄λ‹Ή νƒœκ·Έλ₯Ό μ§€μ •ν•˜μ„Έμš”.
이 μ΄λ―Έμ§€λŠ” μ™ΈλΆ€ μ˜μ‘΄μ„±μ΄ 적고 λ§€μ£Ό μžλ™ μ—…λ°μ΄νŠΈλ˜μ–΄ :latest νƒœκ·Έ μ‚¬μš©μ„ ꢌμž₯ν•©λ‹ˆλ‹€.

⚑ μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰

1) 간단 μ‹€ν–‰

docker run -it --rm \\ ghcr.io/jjh4450/aihubshell_unofficial:latest
  • it: 터미널 μƒν˜Έμž‘μš©(μΈν„°λž™ν‹°λΈŒ) λͺ¨λ“œ
  • -rm: μ»¨ν…Œμ΄λ„ˆ μ’…λ£Œ μ‹œ μžλ™ 제거
μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€λ‘œ μ ‘μ†λ˜λ©΄ sh 셸을 톡해 aihubshell λͺ…λ Ήμ–΄λ₯Ό λ°”λ‘œ μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€:
aihubshell -mode l # AI Hub 데이터셋 λͺ©λ‘ 쑰회

2) aihubshell λͺ…λ Ήμ–΄ λ°”λ‘œ μ‹€ν–‰

docker run -it --rm \\ ghcr.io/jjh4450/aihubshell_unofficial:latest \\ aihubshell -mode l # μ›ν•˜λŠ” λͺ…λ Ήμ–΄ μž…λ ₯ κ°€λŠ₯

🀝 docker-compose μ‚¬μš©

λ³Όλ₯¨ 마운트λ₯Ό 톡해 호슀트 디렉토리에 데이터λ₯Ό μ €μž₯ν•˜κ³  μ‹Άλ‹€λ©΄, μ˜ˆμ‹œμ™€ 같은 docker-compose.yml을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
version: "3.8" services: aihub: image: ghcr.io/jjh4450/aihubshell_unofficial:latest container_name: aihubshell_container volumes: - ./data:/data # 호슀트의 ./data 폴더λ₯Ό μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€ /data에 μ—°κ²° tty: true stdin_open: true
이후 λ‹€μŒ λͺ…λ Ήμ–΄λ‘œ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€:
docker-compose up -d # λ°±κ·ΈλΌμš΄λ“œ λͺ¨λ“œ μ‹€ν–‰ docker exec -it aihubshell_container sh # μ‹€ν–‰ 쀑인 μ»¨ν…Œμ΄λ„ˆμ— 접속 (터미널)
이제 μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ—μ„œ aihubshell λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•  수 있으며, /data에 λ‹€μš΄λ‘œλ“œλœ νŒŒμΌμ€ 호슀트의 ./data λ””λ ‰ν† λ¦¬μ—μ„œ 확인 κ°€λŠ₯ν•©λ‹ˆλ‹€.

πŸ“ μ‚¬μš© μ˜ˆμ‹œ

1) 데이터셋 λͺ©λ‘ 쑰회

aihubshell -mode l
  • 좜λ ₯λ˜λŠ” λͺ©λ‘μ—μ„œ datasetkeyλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

2) 전체 λ‹€μš΄λ‘œλ“œ

aihubshell -mode d \\ -datasetkey <데이터셋KEY> \\ -aihubid 'AIHUB_아이디' \\ -aihubpw 'AIHUB_λΉ„λ°€λ²ˆν˜Έ'
  • ν•΄λ‹Ή 데이터셋에 λŒ€ν•œ λ‹€μš΄λ‘œλ“œ 승인(μŠΉμΈμ‹ μ²­ ν›„)이 이미 μ™„λ£Œλ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

3) νŠΉμ • 파일 λ‹€μš΄λ‘œλ“œ

aihubshell -mode d \\ -datasetkey <데이터셋KEY> \\ -filekey <파일KEY1,파일KEY2,...> \\ -aihubid 'AIHUB_아이디' \\ -aihubpw 'AIHUB_λΉ„λ°€λ²ˆν˜Έ'
  • ,둜 μ—¬λŸ¬ 개의 filekeyλ₯Ό κ΅¬λΆ„ν•˜μ—¬ 선택 λ‹€μš΄λ‘œλ“œκ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.

4) μ €μž₯ 경둜 μ§€μ •

aihubshell -mode d \\ -datasetkey <데이터셋KEY> \\ -aihubid 'AIHUB_아이디' \\ -aihubpw 'AIHUB_λΉ„λ°€λ²ˆν˜Έ' \\ -o /data
  • /data 디렉토리에 μ €μž₯ν•˜μ—¬ 호슀트의 ./dataμ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

⚠️ μ£Όμ˜μ‚¬ν•­

  1. AI Hub 이용 μ•½κ΄€
      • aihubshell은 AI Hub 곡식 API와 μ—°λ™λ˜λ―€λ‘œ, μ‚¬μš© μ „ λ°˜λ“œμ‹œ AI Hub 이용 약관을 μ€€μˆ˜ν•˜μ„Έμš”.
  1. 데이터 승인
      • 데이터셋 λ‹€μš΄λ‘œλ“œ μ „ ν•΄λ‹Ή 데이터셋에 λŒ€ν•΄ λ‹€μš΄λ‘œλ“œ 승인이 μ™„λ£Œλ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.
  1. 특수문자 λΉ„λ°€λ²ˆν˜Έ
      • aihubid λ˜λŠ” aihubpw μΈμˆ˜μ— νŠΉμˆ˜λ¬Έμžκ°€ ν¬ν•¨λœ 경우, ν™‘λ”°μ˜΄ν‘œ('...')둜 감싸 μž…λ ₯ν•˜μ„Έμš”.
  1. λ””μŠ€ν¬ μ—¬μœ  곡간
      • μ••μΆ•λœ 데이터셋 μš©λŸ‰μ΄ 큰 경우, μ΅œμ†Œ 2~3λ°° μ΄μƒμ˜ λ””μŠ€ν¬ μš©λŸ‰μ„ ν™•λ³΄ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.
  1. 데이터 보쑴
      • Docker μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€ μŠ€ν† λ¦¬λŠ” μ»¨ν…Œμ΄λ„ˆ μ’…λ£Œμ™€ ν•¨κ»˜ μ‚¬λΌμ§‘λ‹ˆλ‹€.
      • λ‹€μš΄λ‘œλ“œλœ νŒŒμΌμ„ 영ꡬ적으둜 λ³΄κ΄€ν•˜λ €λ©΄, 호슀트 λ³Όλ₯¨ 마운트(예: v ./data:/data)λ₯Ό ꢌμž₯ν•©λ‹ˆλ‹€.

πŸ”’ λ³΄μ•ˆ 및 법적 κ³ μ§€

  1. λ³΄μ•ˆ μ±…μž„
      • λ³Έ μ΄λ―Έμ§€λŠ” λ‹¨μˆœνžˆ aihubshell을 μ‹€ν–‰ν•˜κΈ° μœ„ν•œ ν™˜κ²½μ„ μ œκ³΅ν•  뿐,μ‚¬μš©μžμ˜ 인증 정보(아이디/λΉ„λ°€λ²ˆν˜Έ) λ³΄μ•ˆμ„ μ™„μ „νžˆ 보μž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
      • 민감 μ •λ³΄λŠ” ν™˜κ²½λ³€μˆ˜λ‚˜ 직접 μž…λ ₯ μ‹œ μ£Όμ˜ν•˜μ„Έμš”.
  1. 법적 μ±…μž„ ν•œκ³„
      • λ³Έ μ΄λ―Έμ§€λŠ” AI Hub와 곡식적인 관계가 μ—†λŠ” 비곡식 ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.
      • λ³Έ 이미지λ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ λ°œμƒν•  수 μžˆλŠ” 법적 문제, 데이터 손싀, 기타 ν”Όν•΄ 등은 μ „μ μœΌλ‘œ μ‚¬μš©μžμ˜ μ±…μž„μž…λ‹ˆλ‹€.
      • AI Hub 데이터 μ‚¬μš©μ— λ”°λ₯Έ λͺ¨λ“  μ±…μž„(μ €μž‘κΆŒ, κ°œμΈμ •λ³΄λ³΄ν˜Έ, λ³΄μ•ˆ λ“±)은 μ΅œμ’…μ μœΌλ‘œ μ‚¬μš©μžμ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€.
      • Dockerfile 및 예제 μ½”λ“œλŠ” 참고용이며, μ‚¬μš© μ‹œ λ°œμƒν•˜λŠ” λ¬Έμ œμ— λŒ€ν•΄ μ–΄λ– ν•œ μ±…μž„λ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  1. 취약점 κ°€λŠ₯μ„±
      • Alpine Linux μ΅œμ†Œ ν™˜κ²½μ—μ„œ κΈ°λ³Έ νŒ¨ν‚€μ§€λ§Œμ„ μ„€μΉ˜ν•˜μ˜€μœΌλ©°, 좔가적인 λ³΄μ•ˆ μ„€μ •(λ°©ν™”λ²½, IDS λ“±)은 μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
      • ν•„μš”ν•œ λ³΄μ•ˆ κ°•ν™” μ‘°μΉ˜λŠ” μ‚¬μš©μžκ°€ 직접 μ§„ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

πŸ“œ λΌμ΄μ„ μŠ€

  • Dockerfile 및 예제 μ½”λ“œ: MIT License
문의
  • AI Hub 데이터 λ‹€μš΄λ‘œλ“œ/μ •μ±…: AI Hub
  • Docker 이미지 이슈: GitHub Issue둜 제보
즐거운 AI Hub 데이터 λ‹€μš΄λ‘œλ“œ λ˜μ„Έμš”! ☺️