Docker 용기 의 nginx 포트 맵

5486 단어 분산 식 군집
예 1. nginx 를 실행 하 는 Docker 용기
한 기계 아래 Docker 용기 가 nginx 를 실행 하고 용기 에 있 는 nginx 의 포트 를 호스트 의 80 포트 에 표시 하 는 명령 은 다음 과 같 습 니 다.
$ docker run -it -p 80:80 nginx

테스트 a: 호스트 192.168.0.108 방문 192.168.0.108: 80, 다음 과 같 습 니 다.
$ curl 192.168.0.108:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
...

테스트 b: 기타 기계 192.168.0.109 방문 192.168.0.108: 80, 다음 과 같 음,
$ curl 192.168.0.108:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
...

예 2. nginx 를 실행 하 는 Docker 용기 두 개
두 기계 에서 두 개의 Docker 용기 가 nginx 를 실행 하고 용기 에 있 는 nginx 의 포트 를 호스트 의 80 포트 에 표시 하 는 명령 은 다음 과 같 습 니 다.
//   192.168.0.108
$ docker run -it -p 80:80 nginx

//   192.168.0.109
$ docker run -it -p 80:80 nginx

테스트 a: 호스트 192.168.0.109 의 nginx 를 실행 하 는 Docker 용기, 호스트 192.168.0.108 의 80 포트 에 접근 합 니 다.그 중에서 호스트 192.168.0.108 의 80 포트 는 nginx 의 Docker 용기 에 의 해 매 핑 되 었 다.
//   192.168.0.109
$ docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                NAMES
af94cb2ea807        nginx                  "/docker-entrypoint.…"   4 minutes ago       Up 4 minutes        0.0.0.0:80->80/tcp   strange_murdock
$ docker exec -it af94cb2ea807 /bin/bash
root@af94cb2ea807:/# curl 192.168.0.108:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
...

총결산
Docker 는 용기 와 호스트 간 의 포트 맵 방법 으로 호스트 간 의 용기 간 통신 목적 을 달성 할 수 있 습 니 다.그러나 이런 방법 은 본질 적 으로 호스트 의 포트 에 비 추어 호스트 간 의 통신 을 하 는 방법 으로 가상 IP 간 의 간접 통신 방법 이다.
가상 IP 간 직접 통신 의 목적 을 달성 하려 면 기술적 으로 가능 한 방안 은 overlay network 이 고 제품 은 Docker Swarm, Kubernetes Flannel 등 이다.

좋은 웹페이지 즐겨찾기