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

Implementation of react automatic construction routing

Table of contents sequence 1. Centralized routing...

mysql5.7.22 download process diagram

1. Go to the official website www.mysql.com and s...

Basic HTML directory problem (difference between relative path and absolute path)

Relative path - a directory path established based...

Solve the problem of setting Chinese language pack for Docker container

If you use docker search centos in Docker Use doc...

Why should css be placed in the head tag

Think about it: Why should css be placed in the h...

Teach you how to implement a react from html

What is React React is a simple javascript UI lib...

Example of how to change the domestic source in Ubuntu 18.04

Ubuntu's own source is from China, so the dow...

IIS7~IIS8.5 delete or modify the server protocol header Server

Requirements: Remove HTTP response headers in IIS...

Introduction to the process of creating TCP connection in Linux system

Table of contents Steps to create TCP in Linux Se...

MySQL 8.0.11 installation summary tutorial diagram

Installation environment: CAT /etc/os-release Vie...

Analysis of mysql view functions and usage examples

This article uses examples to illustrate the func...

Stealing data using CSS in Firefox

0x00 Introduction A few months ago, I found a vul...