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

 

1、製做 nginx 鏡像

一、下載配置文件

  • 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 ..

二、編寫Dockerfile&&製做鏡像

  • cd /opt/nginx_dockerhtml

  • vi Dockerfilenginx

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

FROM ubuntu: 14.04git

MAINTAINER: LIANGSHENGQI "liangshengqi@inspur.com"github

ENV REFRESHED_AT 2017-11-14web

RUN apt-get updatedocker

RUN apt-get -y -q install nginxubuntu

RUN mkdir -p /var/www/htmlvim

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

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

EXPOSE 80

三、運行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 

2、在容器內安裝運行 nginx

一、啓動容器

設置端口映射,容許訪問容器的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 

二、安裝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 

三、#運行nginx

啓動nginx(此時在容器內,因此在容器內運行)::nginx

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

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

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

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

四、#驗證網站訪問

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變了!

相關文章
相關標籤/搜索