용기 에 정적 사이트 - Nginx 배치
4710 단어 docker
단계:
1. 맵 포트 의 대화 형 용 기 를 만 듭 니 다.
docker run -p 80 --name web -i -t daocloud.io/ubuntu /bin/bash
2. Nginx 설치
apt-get install -y nginx
3. 텍스트 편집기 vim 설치
apt-get install -y vim
4. 정적 페이지 만 들 기
mkdir -p /var/www/html
cd /var/www/html
vim index.html
i 를 사용 하여 삽입 모드 로 전환
index. html 에 다음 내용 을 기록 합 니 다:
<html>
<head>
<title>Nginx in Docker</title>
</head>
<body>Hello Docker</body>
</html>
저장 종료
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 실행
nginx
ps - ef 를 사용 하여 nginx 가 실행 되 었 는 지 확인 할 수 있 습 니 다.
Ctrl + p + q 를 사용 하면 용 기 를 배경 에 놓 고 실행 할 수 있 습 니 다.
docker ps 를 사용 하면 용기 의 운행 효 과 를 볼 수 있 습 니 다.
docker port 웹 을 사용 하여 용기 의 포트 맵 을 볼 수 있 습 니 다:
80/tcp -> 0.0.0.0:32768
7. 사이트 방문 검증
curl http://127.0.0.1:32768
브 라 우 저 에서 도 이 페이지 를 방문 할 수 있 습 니 다:
http://127.0.0.1:32768
docker inspect 웹 을 사용 하여 용기 의 ip 주 소 를 봅 니 다:
"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 주소 입 니 다.
쓰다
curl http://127.17.0.1
바로 확인 할 수 있 습 니 다.
브 라 우 저 에서 도 이 용기 의 IP 주 소 를 사용 할 수 있 습 니 다.
마지막 으로 설명 이 필요 합 니 다. 명령 을 사용 하면 용 기 를 정지 합 니 다.
docker stop web
그리고 용기 열기:
docker start -i web
이때 사용:
ps -ef
nginx 가 시작 되 지 않 은 것 을 발 견 했 습 니 다.
Curl + p + q 를 사용 하여 용 기 를 배경 에 넣 습 니 다.
사용:
docker exec web nginx
nginx 서 비 스 를 시작 합 니 다.
사용:
curl http://172.17.0.1
안 되 겠 다.
이때 우 리 는 사용한다.
docker inspect web
다음 출력 결과 보기:
"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에 따라 라이센스가 부여됩니다.