How to run nginx in Docker and mount the local directory into the image

How to run nginx in Docker and mount the local directory into the image

1 Pull the image from hup

docker pull nginx

2 Create the directory to be mounted

mkdir -p /data/nginx/{conf,conf.d,html,logs}

3 You must have a configuration file before you can start the container

3.1 vim /data/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;
}

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; 
  #} 
}

4 Start the container

#Map port 80 of nginx in the container to port 81 locally docker run --name nginx81 -d -p 81: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 -d nginx:latest

5 View the started container

[root@dc01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa56f865bd26 nginx:latest "nginx -g 'daemon of..." 4 weeks ago Up 3 seconds 0.0.0.0:80->80/tcp vigilant_swirles
[root@dc01 ~]#

6 Web page access nginx

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • How to configure https for nginx in docker
  • How to install nginx in docker and configure access via https
  • How to deploy nginx with Docker and modify the configuration file
  • nginx automatically generates configuration files in docker container
  • How to configure nginx+php+mysql in docker
  • How to install and configure Docker nginx
  • Docker nginx + https subdomain configuration detailed tutorial

<<:  Example code for implementing timeline and animation effects using JavaScript (front-end componentization)

>>:  Installation method of MySQL 5.7.18 decompressed version under Win7x64

Recommend

How to implement insert if none and update if yes in MySql

summary In some scenarios, there may be such a re...

Solution for importing more data from MySQL into Hive

Original derivative command: bin/sqoop import -co...

How to run Linux commands in the background

Normally, when you run a command in the terminal,...

Example of automatic import method of vue3.0 common components

1. Prerequisites We use the require.context metho...

js to implement a simple bullet screen system

This article shares the specific code of native j...

Idea configures tomcat to start a web project graphic tutorial

Configure tomcat 1. Click run configuration 2. Se...

Three ways to share component logic in React

Without further ado, these three methods are: ren...

A brief introduction to MySQL InnoDB ReplicaSet

Table of contents 01 Introduction to InnoDB Repli...

How to create WeChat games with CocosCreator

Table of contents 1. Download WeChat developer to...

Analyze several common solutions to MySQL exceptions

Table of contents Preface 1. The database name or...