도커로 Nginx 컨테이너에서, volume으로 conf파일 호스트에서 관리
맨 처음엔 그냥
-v D:\dockerTest\nginx01\etcNginx:/etc/nginx
이렇게하면 컨테이너의 /etc/nginx 아래있는것들이 다 D:\dockerTest\nginx01\etcNginx 여기에 생길줄 알았는데
오류나고 안됨
아마 폴더 구조( 하위 폴더, 파일 들 ) or 파일이름 형식이 완전히 일치되어야 Volume mount 되는듯?
그리고 호스트 환경이 컨테이너를 덮어써버려서
ex) 호스트 파일은 내용없고, 컨테이너 파일은 내용있을때 > volume mount하면 호스트껄로 connect되서 내용 없는걸로통일됨
1. 일단 그냥 컨테이너 실행해서, mount할 파일, 폴더 확인
nginx컨테이너에서
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf 이 2개의 파일을 volume으로 호스트에서 관리할꺼
2. 위 2개파일 내용을 복사해서 그대로 아래 2개의 파일( 호스트 )에 붙여넣기함
D:\dockerTest\nginx01\etcNginx\nginx.conf
D:\dockerTest\nginx01\etcNginx\conf.d\ default.conf
3. run 할때 아래와같이 volume설정 해줌
-v D:\dockerTest\nginx01\etcNginx\nginx.conf:/etc/nginx/nginx.conf
-v D:\dockerTest\nginx01\etcNginx\conf.d\default.conf:/etc/nginx/conf.d/default.conf
docker run -d -p 80:80 --name nginx-container-01 -v D:\dockerTest\nginx01\etcNginx\nginx.conf:/etc/nginx/nginx.conf -v D:\dockerTest\nginx01\etcNginx\conf.d\default.conf:/etc/nginx/conf.d/default.conf --network backend nginx-image-01
그러면
D:\dockerTest\nginx01\etcNginx 이쪽에서 도커컨테이너 환경 통제 가능
4. 결과 확인
D:\dockerTest\nginx01\etcNginx 이쪽에서 설정 변경후,
도커로 nginx실행해서 변경사항 적용되는거 확인
'Web Development > Docker' 카테고리의 다른 글
| 도커로 실행하기 (0) | 2024.06.21 |
|---|---|
| Docker로 Nginx ~ SpringBoot ~ DB (0) | 2024.06.21 |
| 도커로 nginx실행하기 01 (0) | 2024.06.21 |
| 도커로 SpringBoot + MySQL 띄우기 (0) | 2024.06.14 |
| docker build 에서 "빌드 컨텍스트" (0) | 2024.06.14 |