Docker中运行nginx并挂载本地目录到镜像中

1.1 从hup上pull镜像
1.2 创建将要挂载的目录
1.3 先要有配置文件才能启动容器
1.3.1 vim /data/nginx/conf/nginx.conf
1.3.2 vim /data/nginx/conf.d/default.conf
1.4 启动容器
1.5 查看启动的容器
1.6 网页访问nginx

1.1 从hup上pull镜像
# docker pull nginx

1.2 创建将要挂载的目录
# mkdir -p /data/nginx/{conf,conf.d,html,logs}

1.3 先要有配置文件才能启动容器
1.3.1 vim /data/nginx/conf/nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

1.3.2 vim /data/nginx/conf.d/default.conf

server {
    listen       80;
    server_name  localhost;  

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;  

    location / {
        root   /data/nginx/html;
       # root   /usr/nginx/html;
        index  index.html index.htm;
        autoindex  on;
    try_files $uri /index/index/page.html;
        #try_files $uri /index/map/page.html;
    }  

    #error_page  404              /404.html;  

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }  

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}  

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}  

    # deny access to .htaccess files, if Apache‘s document root
    # concurs with nginx‘s one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

1.4 启动容器
#将容器中nginx的80端口映射到本地的81端口

docker run --name mynginx -d -p 80:80
-v /data/nginx/html:/usr/share/nginx/html
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /data/nginx/logs:/var/log/nginx
-v /data/nginx/conf.d:/etc/nginx/conf.d nginx

1.5 查看启动的容器
# docker ps

1.6 网页访问nginx
# curl http://localhost

1.7、nginx域名解析

server {
        listen       80;
        server_name  erpshopwebservertest.xinyartech.com;
        root   /usr/share/nginx/html/test/;
        access_log  /usr/share/nginx/html/test/.log  main;
        #log_format access ‘$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_agent" $http_x_forwarded_for‘;
        error_log   /usr/share/nginx/html/test/pay_local.error;
    client_max_body_size 60M;
    client_body_buffer_size 512k;
    location / {
        proxy_pass      http://172.1.22.25:8082;
                proxy_redirect  off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
       # rewrite ^(.*) https://$server_name$1 permanent;
}

原文地址:https://www.cnblogs.com/linjiqin/p/10478631.html

时间: 2024-10-08 04:33:01

Docker中运行nginx并挂载本地目录到镜像中的相关文章

Docker mysql 把数据存储在本地目录

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1.加上-v参数 $ docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 还可以指定配置文件

oracle定时器,调用存储过程,定时从n张表中取值新增到本地一张表中

--创建新增本地数据库的存储过程 create or replace procedure pro_electric_record as begin insert into electric_meter_record(id,basestation_id,name,meter_number,createtime) select sys_guid(),substr(s.sname,0,36),s.sname,s.svalue,sysdate from rtdbvs s where s.sname li

3.键盘输入10个数,放到数组中,(1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中

package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; /* * 3.键盘输入10个数,放到数组中 (1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中 */ public class Test3 { public static int[] arr = new int[10]; public static void

利用阿里云镜像构建mysql数据库并挂载本地目录

docker构建mysql镜像,在mysql下创建data数据库,将其挂载到本地物理机磁盘目录,删除mysql容器后,可以在本地目录找到对应数据库 docker image命令查看本地镜像 创建名为mysql1的容器并运行它,将物理机/data目录挂载到mysql1容器的数据库存储位置/var/lib/mysql 安装mysql-server服务 启动mysql服务 查看默认数据库 创建cs数据库 查看镜像本地数据库存储看cs文件夹是否创建 删除mysql1容器 查看物理机/data存储看cs文

在kubernetes集群中运行nginx

在完成前面kubernetes数据持久化的学习之后,本节我们开始尝试在k8s集群中部署nginx应用,对于nginx来说,需要持久化的数据主要有两块:1.nginx配置文件和日志文件2.网页文件 一.配置nginx网页文件持久化1.ReplicationController配置文件如下 # cat nginx-rc.yaml apiVersion: v1 kind: ReplicationController metadata: name: nginx-test labels: name: ng

CentOS7安装Docker,运行Nginx镜像、Centos镜像

1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum install docker 3.启动Docker,并将其设置为开机启动 (1)启动,systemctl start docker.service (2)开机启动,systemctl enable docker.service (3)帮助,docker --help (4)概要信息,docker info (5)镜像查看,docker images (6)容器查看,即进程查看,d

Docker学习---挂载本地目录

docker可以支持把一个宿主机上的目录挂载到镜像里. docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就可以共享宿主机里的文件了. 默认挂载的路径权限为读写.如果指定为只读可以用:ro docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu

转:Docker学习---挂载本地目录

原文: http://my.oschina.net/piorcn/blog/324202 docker可以支持把一个宿主机上的目录挂载到镜像里 docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就可以共享宿主机里的文件了. 默认挂载的路径权限为读写.如果指定为只读可以用:ro docker run -it -v /

Docker挂载本地目录

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定.  比如启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:docker run -it -v /test:/soft centos /bin/bash  这样在容器启动后,容器内会自动创建/soft的目录. 注意:  容器目录不可以为相对路径,必须以下斜线“/”开头.宿主机的目录最好也是绝对路径.  挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission de