mirror of
https://github.com/rancher/os.git
synced 2025-05-19 21:40:08 +00:00
`ros` and `system-docker` command requires user to be the root user, when we running them without using sudo, it will print the follow: [rancher@rancher ~]$ ros os list ERRO[0000] Failed to read /var/lib/rancher/conf/cloud-config.d: open /var/lib/rancher/conf/cloud-config.d: permission denied ERRO[0000] Error reading config files err=open /var/lib/rancher/conf/cloud-config.yml: permission denied files=[/var/lib/rancher/conf/cloud-config.yml] ERRO[0000] Failed [1/4] 25% ERRO[0000] Failed to load config ...... ...... FATA[0000] open /var/lib/rancher/conf/cloud-config.yml: permission denied and [rancher@rancher ~]$ system-docker restart docker Failed to kill container(docker): Cannot connect to the Docker daemon. Is the docker daemon running on this host? this patch make the tips more clear and simple. Signed-off-by: Wang Long <long.wanglong@huawei.com>
31 lines
557 B
Go
31 lines
557 B
Go
package systemdocker
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"syscall"
|
|
|
|
log "github.com/Sirupsen/logrus"
|
|
"github.com/rancher/os/config"
|
|
)
|
|
|
|
func Main() {
|
|
var newEnv []string
|
|
for _, env := range os.Environ() {
|
|
if !strings.HasPrefix(env, "DOCKER_HOST=") {
|
|
newEnv = append(newEnv, env)
|
|
}
|
|
}
|
|
|
|
newEnv = append(newEnv, "DOCKER_HOST="+config.DOCKER_SYSTEM_HOST)
|
|
|
|
if os.Geteuid() != 0 {
|
|
log.Fatalf("%s: Need to be root", os.Args[0])
|
|
}
|
|
|
|
os.Args[0] = config.DOCKER_DIST_BIN
|
|
if err := syscall.Exec(os.Args[0], os.Args, newEnv); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|