Docker學習筆記 - Docker部署nginx網站


 

一、制作 nginx 鏡像

1、下載配置文件

  • mkdir /opt/nginx_docker && cd /opt/nginx_docker
  • mkdir nginx && cd nginx
  • wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/global.conf
  • wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/nginx.conf
  • cd ..

2、編寫Dockerfile&&制作鏡像

  • cd /opt/nginx_docker

  • vi Dockerfile

  • docker build -t liangshengqi/nginx .
  • docker history xxxxxxx

FROM ubuntu: 14.04

MAINTAINER: LIANGSHENGQI "liangshengqi@inspur.com"

ENV REFRESHED_AT 2017-11-14

RUN apt-get update

RUN apt-get -y -q install nginx

RUN mkdir -p /var/www/html

ADD nginx/global.conf /etc/nginx/conf.d/

ADD nginx/nginx.conf /etc/nginx/nginx.conf

EXPOSE 80

3、運行nginx鏡像/創建容器

cd nginx_docker

mkdir website && cd website

wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/website/index.html

docker run -d -p 80 --name myweb -v /opt/nginx_docker/website:/var/www/html/website lexiaofei/nginx nginx

查看日志 docker logs -f myweb 

二、在容器內安裝運行 nginx

1、啟動容器

設置端口映射,允許訪問容器的80端口

  • -P 為所有端口映射 
  • -p 指定映射端口
  • docker run -p 80 -i -t ubuntu /bin/bash
  • docker run -p 8080:80 -i -t ubuntu /bin/bash
  • docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
  • docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash 

#創建映射80端口的交互式容器

  • docker run -p 80 --name web ubuntu /bin/bash 

2、安裝nginx 

#安裝nginx, 安裝vim,創建靜態頁面

容器內#apt-get install -y nginx

容器內#apt-get install -y vim

容器內#mkdir -p /var/www/html

容器內#cd /var/www/html

容器內#vi index.html

<html>

<head><title>Hello</title></head>

<body>

<h1>Hahaha!</h1>

</body> 

</html>

 

#修改nginx配置文件

whereis nginx

ls /etc/nginx 

vim /etc/nginx/sites-enabled/default

root /var/www/html/index.html 

3、#運行nginx

啟動nginx(此時在容器內,所以在容器內運行)::nginx

查看正在運行的進程(此時在容器內,所以列出的是容器內的正在運行的進程)::ps -ef

退出容器::ctrl+p/ctrl+q 

列出正在運行的容器:docker ps -a

列出指定的容器的端口映射::docker port web 

4、#驗證網站訪問

curl http://127.0.0.1:49167

docker inspect web

curl http://172.17.0.32/ 

docker stop web

docker start -i web

ctrl+p/q

 

在容器內啟動進程::docker exec web nginx

查看容器內運行的進程::docker top web

 

curl http://172.17.0.32 # 這次不行了,重新啟動后ip變了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM