[root@localhost home]# docker exec -it container-test bash OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown
【分析】java
因爲鏡像系統不一,使用錯誤shell解釋器致使,可嘗試如下其中一種方案。linux
【解決】docker
docker exec -it container-test /bin/bash
docker exec -it container-test /bin/sh
docker exec -it container-test /bin/csh
$ docker push xxx.xxx.xxx.xxx:5000/java-8 The push refers to repository [xxx.xxx.xxx.xxx/java-8] Get https://xxx.xxx.xxx.xxx:5000/v2/: http: server gave HTTP response to HTTPS client
【分析】shell
Docker自從1.3.X以後docker registry交互默認使用的是HTTPS,可是搭建私有鏡像默認使用的是HTTP服務致使。json
【解決】vim
# 修改啓動文件第12行
# vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd --insecure-registry xxx.xxx.xxx.xxx:5000
# 或者增長deamon.json文件配置
$ vim /etc/docker/daemon.json { "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }
# 最後重啓服務
$ systemctl daemon-reload $ systemctl restart docker
【分析】bash
沒有指定鏡像要上傳的具體地址致使。spa
【解決】unix
docker tag <image> <ip:port/image> docker push ip:port/image
【分析】rest
異常卸載關閉致使。
【解決】
$ systemctl daemon-reload $ sudo service docker restart $ sudo service docker status (should see active (running))