Docker 컨테이너에 정적 웹 페이지를 배치하는 방법 자습서

단계: 1.매핑 포트의 대화형 컨테이너 만들기docker run -p 80 --name web -i -t daocloud.io/ubuntu /bin/bash2.Nginxapt-get install -y nginx를 설치하면 안 됩니다. apt-get 업데이트를 업데이트해야 합니다. 3.텍스트 편집기vim 설치apt-get install -y vim4.정적 페이지 만들기
        mkdir -p /var/www/html  
        cd /var/www/html  
        vim index.html  

i 를 사용하여 삽입 모드로 전환
index에서.html에 다음을 기록합니다.
  
  
Nginx in Docker  
  
Hello Docker  
  

저장 종료
5. Nginx 프로필vim /etc/nginx/sites-enabled/default을 수정하여 Nginx 프로필을 열면 다음과 같이 표시됩니다.
server {  
        listen 80 default_server;  
        listen [::]:80 default_server ipv6only=on;   

        root /var/www/html;  
        index index.html index.htm;  
    # Make site accessible from http://localhost/  
    server_name localhost;  

    location / {  
            # First attempt to serve request as file, then  
            # as directory, then fall back to displaying a 404.  
            try_files $uri $uri/ =404;  
            # Uncomment to enable naxsi on this location  
            # include /etc/nginx/naxsi.rules  
    }  

이때 루트의 내용을 수정하여 우리 html 파일이 있는 위치로 수정합니다.저장 종료.
루트 디렉토리로 전환하려면 다음과 같이 하십시오.
cd/
6. Nginx 실행
[plain] view plain copynginx
ps-ef를 사용하여nginx가 실행되었는지 확인할 수 있습니다.
컨테이너를 백그라운드에서 실행하려면 Ctrl+p+q를 사용합니다.
docker ps를 사용하면 용기의 운행 효과를 볼 수 있습니다.
또한 docker port web을 사용하여 컨테이너의 포트 매핑을 볼 수 있습니다.
80/tcp -> 0.0.0.0:32768
7. 사이트 액세스 확인
[plain] view plain copycurl http://127.0.0.1:32768
브라우저에서도 이 페이지에 액세스할 수 있습니다.
[csharp] view plain copyhttp://127.0.0.1:32768
docker inspect 웹을 사용하여 컨테이너의 IP 주소를 보려면 다음과 같이 하십시오.
[plain] view plain copy"NetworkSettings": { "Bridge": "docker0", "Gateway": "172.17.42.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.1", "IPPrefixLen": 16, "IPv6Gateway": "", "LinkLocalIPv6Address": "fe80::42:acff:fe11:1", "LinkLocalIPv6PrefixLen": 64, "MacAddress": "02:42:ac:11:00:01", "PortMapping": null, "Ports": { "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "32768"} ] } },
"IPAddress": "172.17.0.1"을 볼 수 있습니다. 이것은 용기의 IP 주소입니다.
사용
[plain] view plain copycurl http://127.17.0.1
바로 볼 수 있을 거예요.
브라우저에서 이 컨테이너의 IP 주소를 사용할 수도 있습니다.
마지막으로 명령을 사용하여 컨테이너를 중지하는 경우 다음 사항이 필요합니다.
[plain] view plain copydocker stop web
그런 다음 컨테이너를 엽니다.
[plain] view plain copydocker start -i web
이때 사용:
[plain] view plain copyps -ef
nginx가 작동하지 않은 것을 발견했습니다.
Curl+p+q를 사용하여 컨테이너를 백그라운드에 배치합니다.
사용:
[plain] view plain copydocker exec web nginx
nginx 서비스를 시작합니다.
사용:
[plain] view plain copycurl http://172.17.0.1
안되겠네.
이 때 우리는 다음과 같이 사용한다.
[plain] view plain copydocker inspect web
다음 출력 결과가 표시됩니다.
[csharp] view plain copy"NetworkSettings": { "Bridge": "docker0", "Gateway": "172.17.42.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "LinkLocalIPv6Address": "fe80::42:acff:fe11:2", "LinkLocalIPv6PrefixLen": 64, "MacAddress": "02:42:ac:11:00:02", "PortMapping": null, "Ports": { "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "32769"} ] } },
용기의 IP 주소와 포트 번호가 모두 변한 것을 발견했는데, 이때 우리는 용기가 다시 시작된 후의 IP 주소와 포트 번호가 모두 변할 수 있음을 알 수 있다.

좋은 웹페이지 즐겨찾기