docker实践——从新镜像启动容器报错解决

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"catalina.sh\": executable file not found in $PATH": unknown.

 

 

按照书中所写,输入以下命令:

 

$ sudo docker run -d -p 80 --name static_web yorkz0909/static_web \ nginx -g "daemon off;"


来启动新的容器,容器貌似启动了,但是会报以下错误:

 

 
  1. 35b5d1f047a51373ca71190b0eed504ba0540c32427f4637b967c7b4ad7fa217

  2. docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting

  3. container process caused \"exec: \\\" nginx\\\": executable file not found in $PATH\"\n".

 

搜索了一下原因,可能是因为在启动的时候命令不对,于是在命令中加入/bin/sh,重新起了个名字static_web2,否则会报错命名冲突:

报错内容:

 

 
  1. docker: Error response from daemon: Conflict. The name "/static_web1" is already in use by container

  2. 35b5d1f047a51373ca71190b0eed504ba0540c32427f4637b967c7b4ad7fa217. You have to remove (or rename) that container to be able to reuse that name..

输入正确的命令:

 

 
  1. $ sudo docker run -d -p 80 --name static_web2 yorkz0909/static_web /bin/sh \ nginx -g "daemon off;"

  2. d918395d551b582ae1a446ff119d4832fe9bfb4a65e91b2ea1a75e36ffec6743 


运行后没有报错,当然,并不知道具体为什么,猜想可能是因为指定运行的命令,加入了指定的/bin/sh命令后就可以了。

你可能感兴趣的:(docker)