服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - docker run和start的区别说明

docker run和start的区别说明

2021-06-18 17:52BUG_攻城狮 服务器知识

这篇文章主要介绍了docker run和start的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

dockerrunstart的区别

docker run 后面指定的是一个镜像

而docker start指定的是一个容器

docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器

尝试

而docker start是启动一个已经创建过的容器

比如我的docker里面有springboot项目的一个镜像

那么我使用docker run命令将他启动,使用docker ps 可以看到已经启动了一个springboot容器,然后我们停止它(docker stop)

再使用docker start启动它,再使用docker ps可以看到之前停止的已经启动了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[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 ~]#

补充:Docker 容器start | restart | stop

近期在维护Fabric网络中,遇到服务器断电,除了kafka和zookeeper的容器,其余容器都是Exited状态。

好吧,我需要重启容器

1. docker start

启动一个或多个已经停止的容器

?
1
docker start [OPTIONS] CONTAINER [CONTAINER...]
?
1
2
3
4
5
6
7
8
9
10
#可以根据容器的Name或者ID启动容器
$ docker start ID/NAME
 
Options:
# -a 参数          连接容器并打印输出或错误
 -a, --attach        Attach STDOUT/STDERR and forward signals
#  参数          不懂...
   --detach-keys string  Override the key sequence for detaching a container
# -i 参数          启动容器并进入交互模式
 -i, --interactive     Attach container's STDIN

2. docker restart

重启容器,不论之前是否启动或停止

?
1
docker restart[OPTIONS] CONTAINER [CONTAINER...]
?
1
2
3
4
5
6
#可以根据容器的Name或者ID重启容器
$ docker restart ID/NAME
 
Options:
# -t 参数     停止容器前等待的时间(默认10秒)
 -t, --time int  Seconds to wait for stop before killing the container (default 10)

3. docker stop

停止一个运行中的容器

?
1
docker stop[OPTIONS] CONTAINER [CONTAINER...]
?
1
2
3
4
5
6
#可以根据容器的Name或者ID停止容器
$ docker restart ID/NAME
 
Options:
# -t 参数     停止容器前等待的时间(默认10秒)
 -t, --time int  Seconds to wait for stop before killing it (default 10)

有了这些命令,方便重启已经停止的容器。

另外要说一点,Fabric网络里的chaincode容器,不需要使用上述命令重启,在启动的peer节点使用query命令查询后,chaincode容器将会自动启动。

原文链接:https://blog.csdn.net/abc_123456___/article/details/100162740

延伸 · 阅读

精彩推荐