docker运行nginx挂载前端html页面步骤

1.常用docker命令

1.docker ps -a 查看所有容器
2.docker ps查看存活的容器 
3.docker rm 删除容器 
4.docker stop 停止容器运行 
5.docker logs 容器id 查看容器日志
6.docker images 查看镜像 
7.docker rmi 删除镜像
8.docker exec nginx nginx -s reload 重新加载conf文件

2.准备数据卷目录

# mkdir -p /etc/nginx/conf.d 
# mkdir -p /data/docker/nginx/logs
# mkdir -p /data/docker/nginx/html
# mkdir -p /data/docker/nginx/ssl

3.配置nginx.conf

vi /data/docker/nginx/conf/nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
	worker_connections  1024;
}


http {
	include       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  logs/access.log  main;

	sendfile        on;
	#tcp_nopush     on;

	#keepalive_timeout  0;
	keepalive_timeout  65;
	include /etc/nginx/conf.d/*.conf; #这里需要填容器路径
	#gzip  on;

}

域名路由conf文件
vi /etc/nginx/conf.d/www.daqianshijie2024.com.conf

server {
    listen 80;
    #listen 443 ssl http2;
    server_name www.daqianshijie2024.com;

    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #ssl_prefer_server_ciphers on;
    #ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";

    #ssl_certificate cert/ydtvip.shihuak.com.pem;
    #ssl_certificate_key cert/ydtvip.shihuak.com.key;
    #ssl_stapling on;
    #ssl_stapling_verify on;
    resolver 114.114.114.114 8.8.8.8 8.8.4.4 223.5.5.5 valid=300s;
    resolver_timeout 200s;
    #ssl_trusted_certificate cert/ydtvip.shihuak.com.pem;
    client_max_body_size 200m;
    client_body_buffer_size 200m;
      
    location / {
            alias  /mnt/web/daqianshijie2024/h5/; # 该项目以nginx/html为根目录的相对路径,如果是在html目录下的dist文件夹,就修改为html/dist即可。
            index index.html;
            try_files $uri $uri/ /index.html; # 要加上这句,否则只能显示主页,无法显示其他页面
    }
}

4.运行nginx容器

docker run -d --name nginx --rm -p 80:80 \  #--rm表示启动后删除容器,但是有bug看不到日志,所以先去掉正常启动容器当
-v /etc/nginx/conf.d:/etc/nginx/conf.d:rw \ #www.daqianshijie2024.com.conf放域名解析的地方,左边是宿主机路径,右边是docker容器内路径
-v /data/docker/nginx/logs:/var/log/nginx:rw \ #放日志文件的地方
-v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw \ #放ngin.conf文件的地方,这里include需要填容器路径也就是/etc/nginx/conf.d/*.conf
-v /mnt/web/daqianshijie2024/h5:/mnt/web/daqianshijie2024/h5:rw \ #放html静态文件挂载的地方,必须挂载到html文件路径下
nginx:1.20.1

带ssl证书

docker run -d --name nginx --rm  -p 80:80 -p 443:443 \
-v /etc/nginx/conf.d:/etc/nginx/conf.d:rw \
-v /data/docker/nginx/logs:/var/log/nginx:rw \
-v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw \
-v /mnt/web/daqianshijie2024/h5:/mnt/web/daqianshijie2024/h5:rw \
-v /data/docker/nginx/ssl:/ssl:rw \  #ssl文件挂载
nginx:1.20.1

5.docker容器处理sh脚本

docker stop nginx;
docker run -d --name nginx --rm -p 80:80 \
-v /etc/nginx/conf.d:/etc/nginx/conf.d:rw \
-v /data/docker/nginx/logs:/var/log/nginx:rw \
-v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw \
-v /mnt/web/daqianshijie2024/h5:/mnt/web/daqianshijie2024/h5:rw \
nginx:1.20.1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker中部署NGINX挂载目录,你可以按照以下步骤操作: 1. 首先,创建一个用于存储NGINX配置文件和静态文件的目录。假设你创建了一个名为`nginx_data`的目录。 2. 创建一个名为`nginx.conf`的NGINX配置文件,并将其放置在`nginx_data`目录中。你可以根据你的需求自定义这个配置文件。 3. 将你的静态文件放置在`nginx_data`目录中,例如将HTML、CSS、JavaScript文件等放置在一个名为`static`的子目录中。 4. 现在,创建一个Dockerfile来构建NGINX镜像。在Dockerfile中,你需要指定NGINX基础镜像、复制`nginx.conf`到相应位置以及挂载`nginx_data`目录。 ```Dockerfile # 使用NGINX基础镜像 FROM nginx # 复制自定义的NGINX配置文件到容器中 COPY nginx.conf /etc/nginx/nginx.conf # 挂载目录 VOLUME /path/to/nginx_data:/usr/share/nginx/html # 暴露NGINX默认端口(可选) EXPOSE 80 ``` 请将上述代码中的`/path/to/nginx_data`替换为实际的`nginx_data`目录的路径。 5. 使用该Dockerfile构建NGINX镜像。打开终端,进入到包含Dockerfile的目录,然后执行以下命令: ```bash docker build -t mynginx . ``` 这将使用`mynginx`作为镜像名称构建NGINX镜像。请确保在运行此命令之前已经安装了Docker。 6. 构建镜像后,你可以使用以下命令运行NGINX容器并挂载`nginx_data`目录: ```bash docker run -d -p 80:80 -v /path/to/nginx_data:/usr/share/nginx/html --name mynginx-container mynginx ``` 这将在端口80上运行NGINX容器,并将主机上的`nginx_data`目录挂载到容器中的`/usr/share/nginx/html`目录。请将上述命令中的`/path/to/nginx_data`替换为实际的`nginx_data`目录的路径。 现在,你已经成功部署了一个挂载目录的NGINX容器。你可以通过访问`http://localhost`来查看NGINX服务器是否正常工作,并通过修改`nginx_data`目录中的文件来更新NGINX配置和静态文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值