Solution to the problem that docker nginx cannot be accessed after running

Solution to the problem that docker nginx cannot be accessed after running

## 1

I'm learning docker deployment recently, and I initially planned to dockerize nginx.

Refer to the official Docker image description for custom configuration

After copying the official nginx.conf, I modified and added some customizations, mainly blocking the default.conf and the include folder sites-available

# include /etc/nginx/conf.d/.conf;
include /etc/nginx/sites-available/;

Official original configuration

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

Create a new docker-compose.yml file and simply specify images, names, ports, and mount local files instead of defaults.

version: '3'
services:
 nginx-proxy:
  image: nginx
  container_name: nginx
  ports:
   -8081:80
  volumes:
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

## 2

After running docker-compose up, it keeps getting stuck at attaching to nginx, and the browser cannot access the port address

Starting nginx ... done
Attaching to nginx

I don't know where the problem is. After searching for information, I found that I can use the tty parameter for debugging.

Modify docker-compose.yml and add a configuration tty:true.

docker exec -it nginx /bin/bash

I found that after I deleted the default default.conf and did not add any other configuration files, the previous sites-available folder was empty.

## 3

I dug myself up, add

-./nginx/sites-available:/etc/nginx/sites-available:ro

And add a configuration file in sites-available.

/etc/nginx/sites-available# ls
default.conf

After running, access to the port address is finally normal

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:
  • Detailed graphic tutorial on how to enable remote secure access with Docker
  • Solution to the problem of not being able to access the home page when adding a tomcat container to Docker
  • How to directly access the docker for windows container intranet through an independent IP
  • A troubleshooting experience of centos Docker bridge mode unable to access the host Redis service
  • Detailed explanation of using Docker to build externally accessible MySQL
  • Detailed explanation of how to solve the problem that the docker container cannot access the host machine through IP
  • How to access the local machine (host machine) in Docker
  • How to use Docker container to access host network
  • Method for accessing independent IP in Docker container
  • Three ways to communicate between Docker containers

<<:  How to create a child process in nodejs

>>:  Linux platform mysql enable remote login

Recommend

Detailed explanation of MySql installation and login

Check if MySQL is already installed in Linux sudo...

MySQL learning notes help document

View system help help contents mysql> help con...

Learn v-model and its modifiers in one article

Table of contents Preface Modifiers of v-model: l...

How to use the debouce anti-shake function in Vue

Table of contents 1. Anti-shake function 2. Use d...

Vue+video.js implements video playlist

This article shares the specific code of vue+vide...

Several ways to backup MySql database

mysqldump tool backup Back up the entire database...

Web page creation basic declaration document type description (DTD

Using CSS layout to create web pages that comply w...

Implementation of CSS circular hollowing (coupon background image)

This article mainly introduces CSS circular hollo...

3 simple ways to achieve carousel effects with JS

This article shares 3 methods to achieve the spec...

MySQL database transaction example tutorial

Table of contents 1. What is a transaction? 2. Th...

MySQL big data query optimization experience sharing (recommended)

Serious MySQL optimization! If the amount of MySQ...