您的位置:首页 > 运维架构 > Docker

Docker学习笔记 - Docker部署nginx网站

2017-02-02 21:09 766 查看


一、制作 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变了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: