용기 에 정적 사이트 - 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 주소 와 포트 번호 가 모두 변 한 다 는 것 을 알 수 있 습 니 다.