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

Difference between querySelector and getElementById methods in JS

Table of contents 1. Overview 1.1 Usage of queryS...

Detailed tutorial on installing CUDA9.0 on Ubuntu16.04

Preface: This article is based on the experience ...

How to connect to MySQL visualization tool Navicat

After installing Navicat The following error may ...

Summary of some situations when Docker container disk is full

Preface This article describes two situations I h...

10 tips for designing useful, easy-to-use web applications

Here are 10 tips on how to design better-usable w...

Vue routing to implement login interception

Table of contents 1. Overview 2. Routing Navigati...

Install and use Git and GitHub on Ubuntu Linux

Introduction to Git Git is an open source version...

Native JS realizes compound motion of various motions

This article shares with you a compound motion im...

A brief introduction to web2.0 products and functions

<br />What is web2.0? Web2.0 includes those ...

Analysis of GTK treeview principle and usage

The GtkTreeView component is an advanced componen...

Web Design Help: Web Font Size Data Reference

<br />The content is reproduced from the Int...

Using Vue to implement timer function

This article example shares the specific code of ...