Solve the problem of the container showing Exited (0) after docker run

Solve the problem of the container showing Exited (0) after docker run

I made a Dockerfile for openresty on centos7 and built it.

docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx

After that, docker ps -a shows the following

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9dee2d04b3b5 openresty:1.19 "/usr/local/openrest…" 24 seconds ago Exited (0) 7 seconds ago gifted_bhabha 69846af3baa7 redis:latest "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 0.0.0.0:6379->6379/tcp rds

The openresty status is displayed as Exited (0)

reason:

Docker's mechanism is to run the container in the background. There must be at least one foreground process. If the command run by the container is not a command that has been suspended (such as running top, tail), it will automatically exit.

solve:

You can use the sh command containing the -g "daemon off;" configuration item to start the nginx service in the foreground mode.

Therefore, the startup command is adjusted as follows:

docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx -g "daemon off;"

Run docker ps -a again to see the effect

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0291303ca61b openresty:1.19 "/usr/local/openrest…" 29 seconds ago Up 28 seconds strange_curie 69846af3baa7 redis:latest "docker-entrypoint.s…" 26 minutes ago Up 26 minutes 0.0.0.0:6379->6379/tcp rds

Supplement: Docker is always in the exited state when it is started. Solution

Docker is always in the exited state when it is started

Workaround

Step 1. Docker rm container id to delete the container

Step 2: docker rmi image id to delete the image (the image can only be deleted after deleting the container first)

Step 3: docker build -t tomcat:centos . Recreate the container

Step 4. docker run --privileged -it -d --name tomcat01 -p 1216:8080 tomcat:centos (add permissions and)

Specify a pseudo terminal)

Cause of error 1. Lack of permissions 2. No terminal is running

Note: –privileged adds permissions

-t specifies a pseudo terminal

The above is my personal experience. I hope it can give you a reference. I also hope that you will support 123WORDPRESS.COM. If there are any mistakes or incomplete considerations, please feel free to correct me.

You may also be interested in:
  • A time-consuming troubleshooting process record of a docker error
  • Docker Cannot connect to the Docker daemon. Is the docker daemon running on this host error solution
  • Docker daemon cannot start: does not match with stored UUID error solution
  • Solution for multiple Docker containers not having the same port number
  • Steps for docker container exit error code

<<:  Example code for circular hover effect using CSS Transitions

>>:  Implementation of mysql using mysqlbinlog command to restore accidentally deleted data

Recommend

Share 101 MySQL debugging and optimization tips

MySQL is a powerful open source database. With th...

MySQL encryption and decryption examples

MySQL encryption and decryption examples Data enc...

Four ways to create objects in JS

Table of contents 1. Create objects by literal va...

Several ways to implement inheritance in JavaScript

Table of contents Structural inheritance (impleme...

MySQL data insertion efficiency comparison

When inserting data, I found that I had never con...

Detailed explanation of the solution to docker-compose being too slow

There is only one solution, that is to change the...

MySQL daily statistics report fills in 0 if there is no data on that day

1. Problem reproduction: Count the total number o...

CentOS6.8 Chinese/English environment switching tutorial diagram

1. Introduction People who are not used to Englis...

HTML+CSS+JS realizes the scrolling gradient effect of the navigation bar

Table of contents First look at the effect: accom...

HTTP and HTTP Collaboration Web Server Access Flow Diagram

A web server can build multiple web sites with in...

How to convert JavaScript array into tree structure

1. Demand The backend provides such data for the ...

How to maintain a long connection when using nginx reverse proxy

· 【Scene description】 After HTTP1.1, the HTTP pro...

More Features of the JavaScript Console

Table of contents Overview console.log console.in...