>  기사  >  운영 및 유지보수  >  Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

WBOY
WBOY앞으로
2023-05-17 15:31:401132검색

Nginx 데이터 볼륨

nginx에는 순방향 프록시, 역방향 프록시, 로드 밸런싱, 투명 프록시 등 많은 기능이 있습니다. 일반적으로 역방향 프록시와 로드 밸런싱이 더 많이 사용됩니다. 이러한 작업을 완료하려면 구성 파일을 로컬로 동기화하기만 하면 됩니다. nginx 구성 파일을 생성하려면 먼저 /etc/nginx/ 디렉터리에 nginx.conf라는 새 파일을 생성해야 합니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

nginx1 디렉터리에 nginx.conf도 생성해야 합니다. 내용을 비워 두세요. 그런 다음 이미지가 정상인지 확인합니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

아직 이미지를 다운로드하지 않은 경우 다음 명령을 사용하여 이미지를 가져옵니다(기본값은 최신 버전).

docker pull nginx

다음으로 컨테이너를 실행합니다.

docker run -itd -p 80:80 --name nginx001 -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf nginx

설명:

  • -itd: 대화형 모드를 켜고, 터미널을 시뮬레이션하고, 백그라운드에서 실행합니다.

  • -p 80:80: 해당 포트가 호스트

  • --name nginx001에 매핑됩니다. 사용자 정의 컨테이너 이름

  • -v /docker/nginx1/ nginx.conf:/etc/nginx/nginx.conf: 호스트의 해당 파일을 nginx 구성 파일에 매핑합니다.

nginx: 실행 중인 컨테이너의 이름 image

위 명령을 실행한 후 컨테이너 생성 성공을 나타내는 임의의 문자열이 반환됩니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

실행 중인 컨테이너 보기:

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

nginx001이 표시되지 않으면 오류임에 틀림없습니다 실행할 때 오류 메시지를 살펴보겠습니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

아마도 구성 파일에 nginx001이 없다는 뜻일 것입니다. 이벤트 노드를 찾으세요. 우리가 만든 파일의 내용이 비어 있기 때문에 컨테이너를 시작하면 해당 디렉터리의 nginx.conf가 nginx001의 nginx.conf에 직접 매핑됩니다. 물론 빈 구성의 nginx는 실행할 수 없습니다.

이제 vi는 로컬에서 nginx.conf를 생성하고 구성을 시작합니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

로컬 포트 ​​1500을 사용하여 docker에 간단한 .net 핵심 프로그램을 배포하기 전에 이제 nginx 역방향 프록시를 통해 프로그램을 지정합니다. 도메인 이름을 입력하고 포트 80을 통해 액세스합니다. 구성 파일이 작성된 후 nginx001 컨테이너를 다시 시작합니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

이제 nginx001이 성공적으로 시작되었습니다. 방금 지정한 도메인 이름에 액세스해 보겠습니다.

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

nginx 구성이 적용되었습니다.

마지막으로 docker를 다시 시작하면 구성이 초기화되는지 시험해 보겠습니다. docker 다시 시작:

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

두 개의 컨테이너 시작:

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

페이지 방문:

Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법

데이터 볼륨이 성공적으로 적용되었습니다. 재시작으로 인해 Docker 이후 데이터베이스가 초기화되지 않습니다. 앞으로는 더 이상 Docker 충돌과 데이터 손실을 두려워하지 않을 것입니다.

Supplement

nginx 구성 파일의 Proxy_pass 속성은 docker가 아닌 환경에서 구성하면 localhost 또는 127.0.0.1이 정상적으로 적용되지만 nginx 컨테이너가 docker에서 localhost 또는 127.0.0.1로 구성되면 작은 구덩이입니다. 실제 역방향 프록시를 수행할 수 없습니다. 컨테이너가 실행 중일 때 docker는 컨테이너에 별도의 IP와 포트를 할당한 다음 docker가 차지하는 IP를 컨테이너 IP에 매핑하기 때문입니다. 예를 들어 mysql이 docker에서 시작된 후 localhost를 사용하여 클라이언트에 로그인할 수 있습니다. ). 그러나 nginx가 시작되면 먼저 구성 파일을 읽고 구성이 올바른 경우에만 실행합니다. 따라서 컨테이너가 성공적으로 실행된 후 docker는 로컬 IP를 여기에 매핑합니다. 컨테이너의 IP를 사용하여 직접 접속하는 경우에만 구성 파일에 localhost 또는 127.0.0.1을 작성하면 역방향 프록시가 트리거됩니다. 서버에서 Docker를 사용하여 Nginx를 구성하는 경우 서버의 IP 주소만 입력하면 구성이 완료됩니다.

위 내용은 Nginx 배포를 위해 Docker를 사용하여 볼륨을 마운트하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제