Docker installation Nginx tutorial implementation illustration

Docker installation Nginx tutorial implementation illustration

Let’s install Nginx and try it out.

Please note that images are classes and containers are objects.

View the current image

See that there is only one test image.

Pull the image:

After the download is successful, check that the image has been downloaded:

Using nginx image

Run the container:

Check the running status of the container:

Then enter the URL in your browser:

Modify the file:

[root@VM_0_4_centos bin]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 
8bf811453641 nginx "nginx -g 'daemon of..." 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp nginx_test

Remember the CONTAINER ID here, this is the ID of the container

Enter the container and modify:

[root@VM_0_4_centos bin]# docker exec -it 8bf811453641 /bin/bash
root@8bf811453641:/# cd /usr/share/nginx/html
root@8bf811453641:/usr/share/nginx/html# echo "hello docker">index.html
root@8bf811453641:/usr/share/nginx/html# exit

This is a check, the changes have taken effect.

If you want to stop the container:

docker stop containerId // containerId is the ID of the container
[root@VM_0_4_centos bin]# docker stop 8bf811453641

Then use docker ps to view the running status of the container.

At this point, the container is running, which is generally very simple.

The following additional mounting method first creates a directory

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

nginx configuration file

/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;

  server {
    listen 80;
    server_name localhost;

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
      root /usr/share/nginx/html;
      index index.html index.htm;
    }

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

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

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

/data/nginx/html/index.html

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>System time</title>
</head>
<body>
<h1 id="datetime">
  <script>
    setInterval("document.getElementById('datetime').innerHTML=new Date().toLocaleString();", 1000);
  </script>
</h1>
</body>

Deleting a container

docker rm -f nginx-test

Remap the start container

docker run --name nginx-test -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 -d nginx:latest

Run again

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 install and configure Docker nginx
  • How to install nginx in docker and configure access via https
  • How to install Nginx in Docker
  • Install Nginx and configure port forwarding using Docker

<<:  MySQL character set viewing and modification tutorial

>>:  Vue3 compilation process-source code analysis

Recommend

Use ab tool to perform API stress test on the server

Table of contents 1 A brief introduction to syste...

JavaScript implements front-end countdown effect

This article shares the specific code of JavaScri...

Nginx source code compilation and installation process record

The installation of the rpm package is relatively...

HTML tag full name and function introduction

Alphabetical DTD: Indicates in which XHTML 1.0 DT...

Docker container exits after running (how to keep running)

Phenomenon Start the Docker container docker run ...

mysql uses stored procedures to implement tree node acquisition method

As shown in the figure: Table Data For such a tre...

Sharing of experience on repairing MySQL innodb exceptions

A set of MySQL libraries for testing. The previou...

A brief discussion on common operations of MySQL in cmd and python

Environment configuration 1: Install MySQL and ad...

Tic-Tac-toe game implemented in pure CSS3

Operation effect: html <div class="tic-ta...

KTL tool realizes the method of synchronizing data from MySQL to MySQL

Use ktl tool to synchronize data from mysql to my...

Detailed explanation of count(), group by, order by in MySQL

I recently encountered a problem when doing IM, a...

Vue implements star rating with decimal points

This article shares the specific code of Vue to i...

CSS to achieve horizontal lines on both sides of the middle text

1. The vertical-align property achieves the follo...