

- 보안성 강화
- 데이터 암호화
- 서버 접근 제어
- 무단 접근 방지
- 세션 무결성 유지
- 침해 사고 예방
docker pull edowon0623/docker:no_iptablesdocker run --privileged -itd --name docker-server -p 10022:22 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns=host edowon0623/docker:no_iptables /usr/sbin/init

docker logs -f docker-server -> SSH 작동 되면 ok.

ssh root@127.0.0.1 -p 10022, password: p@ssw0rd

오류 발생 가능성
가서 해당 키 지우면 됨.
SSH Client 툴 다운로드 권장. (terminus, xshell, putty 등)



ssh 도커 서버 ip 랑 port 22 로 접근 가능하다.







vi Dockerfile

docker build --tag hello-world:1.0 -f Dockerfile . ;




docker push hanjinyang/hello-world:1.0


docker run --privileged -itd --name run-server -p 20022:22 -p 18080:8080 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns=host edowon0623/docker:no_iptables /usr/sbin/init

C:\Users\user>ssh root@127.0.0.1 -p 20022

위의 경우 known_hosts 에서 해당 라인 지우고 진행
C:\Users\user>cd .ssh
C:\Users\user\.ssh>code . .\known_hosts
C:\Users\user\.ssh>ssh root@127.0.0.1 -p 20022
systemctl enable docker
systemctl start docker
systemctl status docker
Jenkins > 관리 > System 서버 설정 수정
[원본]
[수정]



run-server에서 아래 작업 실행 (포트 번호 변경을 위해 컨테이너와 이미지 재생성)
DIND는 "Docker in Docker"의 약자로, 컨테이너 내부에서 또 다른 Docker 데몬을 실행하는 방식.
즉, Docker 컨테이너 안에서 다시 Docker를 실행하여 새로운 컨테이너를 생성할 수 있다.
사용 하는 경우
✅ CI/CD 환경에서 컨테이너를 동적으로 생성하고 싶을 때
✅ 완전히 독립적인 Docker 환경이 필요한 경우
❌ 일반적인 컨테이너 실행이라면 소켓 공유 방식이 더 효율적
필요한 경우
✅ CI/CD 파이프라인에서 동적 컨테이너 생성
✅ 컨테이너 내부에서 추가 컨테이너를 실행해야 할 때
✅ 클러스터링 테스트 (예: Kubernetes, Swarm 등)
✅ 컨테이너 내부에서 자체적으로 빌드 및 실행이 필요할 때


run-server 안에서는 8080 으로 CD 진행

브라우저에서는 18080으로 접근해서 내부에서 8080 CD 진행

[ssh docker-server, run-server]
ssh root@127.0.0.1 -p 10022
ssh root@127.0.0.1 -p 20022