Docker 컨테이너에 정적 웹 페이지를 배치하는 방법 자습서
docker run -p 80 --name web -i -t daocloud.io/ubuntu /bin/bash
2.Nginxapt-get install -y nginx
를 설치하면 안 됩니다. apt-get 업데이트를 업데이트해야 합니다. 3.텍스트 편집기vim 설치apt-get install -y vim
4.정적 페이지 만들기 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 주소와 포트 번호가 모두 변할 수 있음을 알 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.