[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))