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

相关文章
相关标签/搜索