Explanation of the difference between docker run and start
- 2021-10-25 00:09:38
- OfStack
Differences between run and start in docker
docker run is followed by a mirror
docker start specifies one container
docker run generates a container with a mirror image and starts the container, while docker start starts a previously generated container
Try
docker start is to start a container that has already been created
For example, my docker has a mirror image of springboot project
Then I start it with the docker run command, and with docker ps you can see that an springboot container has been started, and then we stop it (docker stop)
Use docker start to start it again, and then use docker ps to see that the previously stopped one has started
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springbootdocker latest 5fe8370f7f83 25 hours ago 677 MB
daocloud.io/rabbitmq 3-management 1d0a5c8a8d4e 4 weeks ago 177 MB
daocloud.io/library/tomcat latest 89481b5d9082 7 weeks ago 506 MB
daocloud.io/library/mysql 5.5 d404d78aa797 3 months ago 205 MB
daocloud.io/library/java latest d23bdf5b1b1b 2 years ago 643 MB
docker.io/java 8 d23bdf5b1b1b 2 years ago 643 MB
[root@localhost ~]# docker run --name springboot -p 8080:8080 -d 5f
dd100a4c60a7a6606244873bc61a8a6f419361ab78fcd038d4baef3f38f05157
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd100a4c60a7 5f "java -Djava.secur..." 19 seconds ago Up 18 seconds 0.0.0.0:8080->8080/tcp springboot
[root@localhost ~]# docker stop dd
dd
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd100a4c60a7 5f "java -Djava.secur..." 39 seconds ago Exited (143) 3 seconds ago springboot
f3b181616dac 1d0a5c8a8d4e "docker-entrypoint..." 3 weeks ago Exited (255) 2 weeks ago 4369/tcp, 5671-5672/tcp, 0.0.0.0:5762->5762/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp myrabbit0
ea0a9cb0fe2f 89481b5d9082 "catalina.sh run" 4 weeks ago Exited (129) 4 weeks ago clever_leakey
[root@localhost ~]# docker start dd
dd
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd100a4c60a7 5f "java -Djava.secur..." About a minute ago Up 2 seconds 0.0.0.0:8080->8080/tcp springboot
[root@localhost ~]#
Supplement: Docker container start restart stop
Recently, during the maintenance of Fabric network, the server was powered off, and all the containers except kafka and zookeeper were in Exited state.
Okay, I need to restart the container
1. docker start
Start one or more stopped containers
docker start [OPTIONS] CONTAINER [CONTAINER...]
# Can be based on the container's Name Or ID Startup container
$ docker start ID/NAME
Options:
# -a Parameter Connect the container and print the output or error
-a, --attach Attach STDOUT/STDERR and forward signals
# Parameter Don't understand ...
--detach-keys string Override the key sequence for detaching a container
# -i Parameter Start the container and enter interactive mode
-i, --interactive Attach container's STDIN
2. docker restart
Restart the container, whether it was started or stopped before
docker restart[OPTIONS] CONTAINER [CONTAINER...]
# Can be based on the container's Name Or ID Restart the container
$ docker restart ID/NAME
Options:
# -t Parameter Time to wait before stopping the container ( Default 10 Seconds )
-t, --time int Seconds to wait for stop before killing the container (default 10)
3. docker stop
Stop 1 running container
docker stop[OPTIONS] CONTAINER [CONTAINER...]
# Can be based on the container's Name Or ID Stop container
$ docker restart ID/NAME
Options:
# -t Parameter Time to wait before stopping the container ( Default 10 Seconds )
-t, --time int Seconds to wait for stop before killing it (default 10)
With these commands, it is convenient to restart the stopped container.
In addition, the chaincode container in the Fabric network does not need to be restarted with the above command. After the started peer node queries with the query command, the chaincode container will start automatically.