1. 程式人生 > >docker實踐——從新映象啟動容器報錯解決

docker實踐——從新映象啟動容器報錯解決

按照書中所寫,輸入以下命令:

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

來啟動新的容器,容器貌似啟動了,但是會報以下錯誤:
35b5d1f047a51373ca71190b0eed504ba0540c32427f4637b967c7b4ad7fa217
docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting 
container process caused \"exec: \\\" nginx\\\": executable file not found in $PATH\"\n".

搜尋了一下原因,可能是因為在啟動的時候命令不對,於是在命令中加入/bin/sh,重新起了個名字static_web2,否則會報錯命名衝突:

報錯內容:

docker: Error response from daemon: Conflict. The name "/static_web1" is already in use by container 
35b5d1f047a51373ca71190b0eed504ba0540c32427f4637b967c7b4ad7fa217. You have to remove (or rename) that container to be able to reuse that name..
輸入正確的命令:
$ sudo docker run -d -p 80 --name static_web2 yorkz0909/static_web /bin/sh \ nginx -g "daemon off;"
d918395d551b582ae1a446ff119d4832fe9bfb4a65e91b2ea1a75e36ffec6743 

執行後沒有報錯,當然,並不知道具體為什麼,猜想可能是因為指定執行的命令,加入了指定的/bin/sh命令後就可以了。