[실습] tasks app 컨테이너를 이미지로 commit
필기자
2025-10-09 18:55
105
0
본문
개발 완료된 컨테이너 이미지로 배포 주의 사항
개발 완료된 컨테이너 이미지로 배포 방법
1. 개발용 컨테이너 실행 (바인딩 마운트)
2. 호스트 ~/html 에서 PHP 코드 개발 완료
3. 컨테이너 중지
4. 마운트 없이 같은 이름으로 새 컨테이너 실행
5. 호스트에서 개발된 프로그램을 컨테이너 내부로 복사
6. 컨테이너 종료 후 커밋 (코드 포함된 이미지 생성)
7. 완성된 이미지로 서버 실행 (마운트 없이)
- 바인딩 마운트된 컨테이너를 이미지로 commit시 개발한 app(컨테이너 경로 : /var/www/html/.)이 포함되지 않음
- 개발용 컨테이너를 종료하고 바인딩 마운트 없이 컨테이너를 실행 후
- 개발 완료된 프로그램(호스트 경로 : ~/html/.)을 컨테이너 app 폴더로 프로그램 복사 후 이미지 생성
- 컨테이너를 commit 하고 최종 완성된 이미지를 run시 정상 동작
- 주의 : 최종 이미지 기반 컨테이너 실행시 바인딩 마운트하면 app(컨터이너 경로 : /var/www/html/.)이 삭제되어 호스트 ~/html에 반영되지 않음
개발 완료된 컨테이너 이미지로 배포 방법
1. 개발용 컨테이너 실행 (바인딩 마운트)
docker run -d -p 80:80 --name myphp --net php-mysql -v ~/html:/var/www/html myphpimage
2. 호스트 ~/html 에서 PHP 코드 개발 완료
3. 컨테이너 중지
docker stop myphp
4. 마운트 없이 같은 이름으로 새 컨테이너 실행
docker rm myphp
docker run -it --name myphp --net php-mysql myphpimage
5. 호스트에서 개발된 프로그램을 컨테이너 내부로 복사
docker cp ~/html/. myphp:/var/www/html/
6. 컨테이너 종료 후 커밋 (코드 포함된 이미지 생성)
docker commit myphp myphp-app
7. 완성된 이미지로 서버 실행 (마운트 없이)
docker run -d -p 80:80 --name myphp --net php-mysql myphp-app
댓글목록0