docker报错Error response from daemon: Container xxx is not running

2023-09-18 20:21:50

1. 问题

在移植了docker后,执行了sudo docker run --name myrosort -p 80:80 -d rosort 指令运行名为myrosort的容器,通过sudo docker ps -a也可以看到确实运行了

(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker run --name myrosort -p 80:80 -d rosort
53e999137030b67c903a5bd5966ad378dd3ee0224434e57de60ebf91124b05bf
(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker ps -a
CONTAINER ID   IMAGE         COMMAND     CREATED          STATUS                      PORTS     NAMES
53e999137030   rosort        "/bin/sh"   16 seconds ago   Exited (0) 14 seconds ago             myrosort
81999b396b56   hello-world   "/hello"    3 hours ago      Exited (0) 3 hours ago                pensive_austin
1077ee673c62   hello-world   "/hello"    3 days ago       Exited (0) 3 days ago                 eager_margulis

但接下来想要进入容器,执行sudo docker start myrosort以及 sudo docker exec -it myrosort bash指令的以后发现报错,容器没有运行,53e999137030b67........这一长串的字符是容器对应的ID。网上搜了几百个方法例如这个,都是提醒要先start 容器,但明明我已经start了

(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker start myrosort
myrosort
(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker exec -it myrosort bash
Error response from daemon: Container 53e999137030b67c903a5bd5966ad378dd3ee0224434e57de60ebf91124b05bf is not running

start了一下ID, 执行sudo docker start 53e999137030 (这里注意要跟sudo docker ps -a查询到的container ID移植),再去以ID的形式进入容器,也失败了。。。。

(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker start 53e999137030
[sudo] password for neousys: 
53e999137030
(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker exec -it myrosort bash
Error response from daemon: Container 53e999137030b67c903a5bd5966ad378dd3ee0224434e57de60ebf91124b05bf is not running

2. 解决方法

在stackoverflow上找到这个方法,看起来就是容器没有一直运行,想要容器一直保持运行,要注意输入指令的格式
在这里插入图片描述
首先为了确保运行的容器正确,我先打印一下所有的镜像: sudo docker images,看到我的镜像名称,repository是rosort ,然后根据上图的格式,sudo docker run -t -d --name newport rosort newport是我新命名的,rosort 是image name ,再输入sudo docker start newport就可以一直运行了,接下来也就成功进入了这个容器

(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
<none>        <none>    f5e992705c48   3 hours ago    6.3GB
pickup        v1        b90b380f7902   5 hours ago    6.3GB
hello-world   latest    9c7a54a9a43c   4 months ago   13.3kB
rosort        latest    ef0e3337697d   6 months ago   6.06GB
(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker run -t -d --name newport  rosort
fba2111eeb817a09d90f4d479502ebb8583e3efd4d1c1f3b0ece2860235eb5fe
(base) neousys@neousys-Nuvo-5000:~/wqw/docker/20230915$ sudo docker start newport
newport

3. 总结

出现这个问题的根本原因是容器没有一直run 起来,是我一开始输的指令错了,错误的指令:

sudo docker run --name myrosort -p 80:80 -d rosort

正确的指令:

sudo docker run -t -d --name newport  rosort

docker新手,在操作过程中发现了许多许多的坑。后续有空再汇总一下

更多推荐

Rocketmq--消息发送和接收演示

使用Java代码来演示消息的发送和接收<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.0.2</version></dependency>1

服务器搭建(TCP套接字)-基础版(客户端)

一、socket1.1、vimman查看socket:!mansocket1.2、依赖的头文件#include<sys/types.h>#include<sys/socket.h>1.3、原型intsocket(intdomain,inttype,intprotocol);domain说明AF_INETIPV4协议AF

c语言练习题55:IP 地址⽆效化

IP地址⽆效化题⽬描述:给你⼀个有效的IPv4地址address,返回这个IP地址的⽆效化版本。所谓⽆效化IP地址,其实就是⽤"[.]"代替了每个"."。•⽰例1:输⼊:address="1.1.1.1"输出:"1[.]1[.]1[.]1"•⽰例2:输⼊:address="255.100.50.0"输出:"255[.]

Base64、AES、MD5的区别与应用

最近有个加密的需求,想起以前做过的验签、加密等内容,就一起总结一下吧,具体的技术细节就不展开了,我们只讨论核心以及如何应用Base64一句话解释就是用来将二进制数据进行文本化显示的编码方式想了解base64就一定要先了解什么是字符集字符集是由a-z,A-Z,0-9以及+/一共64个常见字符组成的,2*6=64(其实还有

SpringBoot运行原理

目录@SpringBootApplication@ComponentScan@SpringBootConfiguration@EnableAutoConfiguration结论@SpringbootApplication(主入口)@SpringBootApplicationpublicclassSpringbootCo

电力安全智慧云平台:引领更安全的用电新时

电力能源是人类社会不可或缺的重要资源,其安全稳定供应关系到各行各业的正常运转和千家万户的生活质量。然而,随着电力使用的普及,电力安全问题也日益凸显,一旦发生电力事故,不仅会造成巨大的经济损失,还会对人们的生命安全构成严重威胁。因此,如何保障电力安全已成为全社会共同关注的焦点。近年来,随着云计算、大数据、人工智能等新一代

【云计算】虚拟私有云 VPC

虚拟私有云VPC1.前言1.1基本介绍1.2VPC的作用1.3VPC的适用人群2.VPC基本概念2.1VPC相关基本概念2.2其他相关基本概念3.VPC通信场景3.1VPC内部互通3.2VPC间互通3.2.1对等连接3.2.2TransitGateway或者云联网3.3访问Internet3.3.1Internet网关

详解API接口如何安全的传输数据

概述API接口的安全传输是确保数据在API请求和响应之间的传输过程中不被截获、篡改或泄露的重要步骤。以下是一些用于增强API接口安全传输的常见技术和最佳实践:使用HTTPS:使用HTTPS协议而不是HTTP,以确保数据在传输过程中的安全性。HTTPS使用SSL/TLS协议对通信进行加密,防止中间人攻击和数据窃听。验证H

系统架构设计师-数据库系统(1)

目录一、数据库模式1、集中式数据库2、分布式数据库二、数据库设计过程1、E-R模型2、概念结构设计3、逻辑结构设计三、关系代数1、并交差2、投影和选择3、笛卡尔积4、自然连接一、数据库模式1、集中式数据库三级模式:(1)外模式:用户模式-视图级(2)概念模式:模式-表级(3)内模式:存储模式-文件级两级映射:(1)外模

golang实现远程控制主机

文章目录ssh原理使用golang远程下发命令使用golang远程传输文件ssh原理说到ssh原理个人觉得解释最全的一张图是这张华为画的Connectionestablishment这一步就是建立tcp连接versionnegotiation这一步是ssh客户端(连接者)和被ssh服务端(连接者)进行协议的交换,比如s

JVM面试题(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、内存模型以及分区,需要详细到每个区放什么。二、堆里面的分区:Eden,survival(from+to),老年代,各自的特点。三、对象创建方法,对象的内存分配,对象的访问定位。四、GC的两种判定方法:五、SafePoint是什么六、GC的三

热文推荐