docker安装nginx,配置nginx,并成功访问

【Nginx那些事】系列

【Nginx那些事】nginx 安装及常用指令
【Nginx那些事】Nginx 配置文件说明
【Nginx那些事】nginx原理解析
【Nginx那些事】nginx配置实例(一)反向代理
【Nginx那些事】nginx配置实例(二)负载均衡
【Nginx那些事】nginx配置实例(三)动静分离
【Nginx那些事】nginx配置实例(四)搭建高可用集群

【Docker那些事】系列文章

Dockerfile 文件结构、docker镜像构建过程详细介绍
Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
构建Docker镜像指南,含实战案例
Docker 制作自定义化的Tomcat镜像
docker 安装 mysql 并映射数据库存放路径及配置文件
docker安装tomcat 映射配置文件、日志文件
docker安装nginx,配置nginx,并成功访问
docker安装redis并将配置文件和数据文件映射到外部

docker安装nginx并配置映射

  • 【Docker那些事】系列文章
  • docker安装nginx并配置映射
  • 创建主机挂载配置文件
  • 复制默认配置

docker安装nginx并配置映射

  1. 下载镜像,并复制默认配置
  2. 停止删除容器
  3. 生成启动文件 - start.sh
  4. 运行start.sh 启动mynginx
  5. 访问127.0.0.1可以访问到nginx默认页面
  6. 配置反向代理
  7. 下载镜像,并复制默认配置
    docker run --name mynginx -d nginx

创建主机挂载配置文件

mkdir -p ~/i/apps/nginx/{conf,conf.d,html,logs}

复制默认配置

docker cp mynginx:/etc/nginx/nginx.conf ~/i/apps/nginx/conf/nginx.conf
docker cp mynginx:/etc/nginx/conf.d/default.conf ~/i/apps/nginx/conf.d/default.conf
docker cp mynginx:/usr/share/nginx/html/index.html ~/i/apps/nginx/html/index.html

要想查询默认配置可以:

docker run -i -t nginx /bin/bash:查看所有文件夹
cat /etc/nginx/nginx.conf:查看nginx.conf文件内容然后拷贝出来
cat /etc/nginx/conf.d/default.conf:查看default.conf文件内容然后拷贝出来
/usr/share/nginx/html:默认首页文件夹html路径
/var/log/nginx:日志文件路径
2. 停止删除容器
docker rm -f mynginx
3. 生成启动文件 - start.sh

[root@master ~]# cd ~/i/apps/nginx/
[root@master nginx]# ls
conf  conf.d  html  logs
[root@master nginx]# cat < start.sh
#!/bin/bash
NGINX_DIR=`pwd`
docker stop mynginx
docker rm mynginx
docker run -d     --restart always    -p 80:80     --name mynginx     -v \${NGINX_DIR}/html:/usr/share/nginx/html     -v \${NGINX_DIR}/conf/nginx.conf:/etc/nginx/nginx.conf     -v \${NGINX_DIR}/conf.d:/etc/nginx/conf.d     -v \${NGINX_DIR}/logs:/var/log/nginx     nginx
EOF

说明:

-d: 后台运行容器;
--name: 指定容器名;
-p: 指定服务运行的端口;
-v: 映射目录或文件;

  1. 运行start.sh 启动mynginx
[root@master nginx]# sh start.sh 
Error response from daemon: No such container: mynginx
Error: No such container: mynginx
5a23fe9288535c0141afb5b55c7c907e8c0a108dcda8fe486fb02028975ad5bb
  1. 访问http://127.0.0.1/可以访问到nginx默认页面

  2. 配置反向代理

[root@master nginx]# cd conf.d/
[root@master conf.d]# ls
default.conf
[root@master conf.d]# vi test.com.conf
server {
    listen  80;
    server_name  test.com;
    access_log /var/log/nginx/wanfei.access.log main;
    error_log /var/log/nginx/wanfei.error.log error;
    location / {
        proxy_set_header  Host  $http_host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://127.0.0.1:80;
    }
}

你可能感兴趣的:(Nginx那些事,容器化技术,docker,nginx,web服务器,静态资源服务,负载均衡)