Sign inSign up

chaewonjeong/ssh-docker-server

By chaewonjeong

•Updated over 1 year ago

ssh 실습용 DinD 서버

Image
0

216

chaewonjeong/ssh-docker-server repository overview

⁠ssh-docker-server (Mac m1 전용)

⁠🐳 이미지 개요

이 이미지는 Docker-in-Docker(DinD) 환경에서
독립된 Docker 데몬을 실행하는 Ubuntu + systemd + SSH 서버 기반 컨테이너입니다.

주요 특징:

  • 컨테이너 내부에서 자체 Docker 데몬 실행 (dockerd)

  • 외부 호스트 Docker 엔진과 완전히 분리

  • SSH 접속 후 컨테이너 내부에서 독립적으로 docker 명령 사용 가능

  • 실습/테스트용 DinD 환경, Jenkins SSH 배포 대상, 멀티컨테이너 시뮬레이션에 적합


⁠🔧 실행 방법

docker run --privileged --name ssh-docker-server -itd \
    -p 10022:22 \
    -p 8081:8080 \
    -e container=docker \
    -v /sys/fs/cgroup:/sys/fs/cgroup:rw \
    --cgroupns=host \
    chaewonjeong/ssh-docker-server:latest \
    /usr/sbin/init

⁠✅ 주요 포트

  • 10022: SSH 접속용
  • 8081: Tomcat 등 내부 서비스용 (필요에 따라 설정)

⁠✅ 중요 옵션

  • --privileged: 컨테이너에서 cgroup, 네트워크, 장치 접근 허용 (DinD 필수)
  • --cgroupns=host: cgroup namespace 공유 (systemd 호환)
  • -v /sys/fs/cgroup:/sys/fs/cgroup:rw: systemd용 cgroup 마운트

⁠🔑 SSH 접속 정보

  • Host: localhost (또는 실행 서버 IP)
  • Port: 10022
  • Username: root
  • Password: rootpassword
⁠접속 예
ssh root@localhost -p 10022

⁠🐳 컨테이너 내부 Docker 사용

컨테이너 내부에서:

docker info
docker ps
docker run ...

✅ 내부에서 독립된 Docker 데몬이 동작하므로, 호스트 Docker 컨테이너와 완전히 분리된 환경에서 사용할 수 있습니다.

⁠⚠ 주의

  • --privileged 모드는 매우 강력한 권한을 가지므로 학습/실험 외에 사용 시 보안에 주의하세요.
  • 기본 SSH 비밀번호(rootpassword)는 반드시 변경하거나 SSH key 인증으로 전환하세요.
  • 컨테이너 종료 시 내부 Docker 데이터(/var/lib/docker)는 휘발성입니다. 필요 시 외부 볼륨 마운트로 데이터 유지하세요.

Tag summary

Content type

Image

Digest

sha256:a1a9b1365…

Size

488.4 MB

Last updated

over 1 year ago

docker pull chaewonjeong/ssh-docker-server