본문 바로가기

학습/시스템

Docker 컨테이너에 포트 추가 작업

단일 컨테이너에 단일 프로세스 고수하다가, 다른 회사 직원이 해당 컨테이너에서 동작하는 DB 접근을 요청했다.

그런데 ssh, sftp가 필요하단다.

포트를 추가하려고 계획했는데, 용량이 너무커서 진행이 안된다.

어떻게 대처해야할지 고민중이다.

 

 

아래는 작업 계획 내용이다.

 

현재 디스크 용량 확인
df -h 

기존 컨테이너로 생성될 신규 이미지 용량 확인
docker ps -s | grep 5432

CONTAINER_ID   IMAGE COMMAND CREATED         STATUS PORTS NAMES SIZE
CONTAINER1234   IMAGE1234 "/sbin/init" 17 months ago   Up 16 months 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp centos 519GB (virtual 520GB)


기존 컨테이너를 새로운 이미지로 커밋 // 실패 시간이 1분 넘게 지속되어 ctrl+c 입력하여 취소함
docker commit CONTAINER1234 centos-postgresql:20240703

새로운 이미지로 새로운 컨테이너 생성 및 실행: 포트를 신규 포트 추가해서 실행
docker run --privileged -d --name centos2 -p 15432:5432 -p 15022:22 centos-postgresql:20240703 /sbin/init

새로운 컨테이너 데이터 및 서비스 확인
docker ps -a

새 컨테이너 데이터가 정상이면, 
 기존 컨테이너 중지 및 삭제, 새 컨테이너 중지 및 삭제
docker stop CONTAINER1234
docker rm CONTAINER1234
docker stop 새 컨테이너 ID
docker rm 새 컨테이너 ID


새로운 이미지로 새로운 컨테이너 생성 및 실행: 포트를 기존 포트로 실행
docker run --privileged -d --name centos2 -p 5432:5432 -p 15022:22 centos-postgresql:20240703 /sbin/init