mirror of
https://github.com/rancher/os.git
synced 2025-08-08 02:04:13 +00:00
Support higher verion docker-ce as system-docker
This commit is contained in:
parent
a7ba5d045b
commit
43f483a5ef
@ -175,14 +175,14 @@ func startDocker(cfg *config.CloudConfig) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := []string{"docker-runc", "exec", "--", info.ID, "env"}
|
cmd := []string{"system-docker-runc", "exec", "--", info.ID, "env"}
|
||||||
log.Info(dockerCfg.AppendEnv())
|
log.Info(dockerCfg.AppendEnv())
|
||||||
cmd = append(cmd, dockerCfg.AppendEnv()...)
|
cmd = append(cmd, dockerCfg.AppendEnv()...)
|
||||||
cmd = append(cmd, dockerCommand...)
|
cmd = append(cmd, dockerCommand...)
|
||||||
cmd = append(cmd, args...)
|
cmd = append(cmd, args...)
|
||||||
log.Infof("Running %v", cmd)
|
log.Infof("Running %v", cmd)
|
||||||
|
|
||||||
return syscall.Exec("/usr/bin/ros", cmd, os.Environ())
|
return syscall.Exec("/usr/bin/system-docker-runc", cmd, os.Environ())
|
||||||
}
|
}
|
||||||
|
|
||||||
func waitForPid(service string, project *project.Project) (int, error) {
|
func waitForPid(service string, project *project.Project) (int, error) {
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (d *DockerConfig) FullArgs() []string {
|
func (d *DockerConfig) FullArgs() []string {
|
||||||
args := []string{"daemon"}
|
args := []string{}
|
||||||
args = append(args, generateEngineOptsSlice(d.EngineOpts)...)
|
args = append(args, generateEngineOptsSlice(d.EngineOpts)...)
|
||||||
args = append(args, d.ExtraArgs...)
|
args = append(args, d.ExtraArgs...)
|
||||||
if d.TLS {
|
if d.TLS {
|
||||||
|
@ -25,7 +25,7 @@ const (
|
|||||||
ModulesArchive = "/modules.tar"
|
ModulesArchive = "/modules.tar"
|
||||||
Debug = false
|
Debug = false
|
||||||
SystemDockerLog = "/var/log/system-docker.log"
|
SystemDockerLog = "/var/log/system-docker.log"
|
||||||
SystemDockerBin = "/usr/bin/system-docker"
|
SystemDockerBin = "/usr/bin/system-dockerd"
|
||||||
|
|
||||||
HashLabel = "io.rancher.os.hash"
|
HashLabel = "io.rancher.os.hash"
|
||||||
IDLabel = "io.rancher.os.id"
|
IDLabel = "io.rancher.os.id"
|
||||||
|
@ -55,6 +55,9 @@ func (s *Service) missingImage() bool {
|
|||||||
}
|
}
|
||||||
client := s.context.ClientFactory.Create(s)
|
client := s.context.ClientFactory.Create(s)
|
||||||
_, _, err := client.ImageInspectWithRaw(context.Background(), image, false)
|
_, _, err := client.ImageInspectWithRaw(context.Background(), image, false)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("Missing the image: %v", err)
|
||||||
|
}
|
||||||
return err != nil
|
return err != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,11 +2,13 @@ package init
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
"os/exec"
|
||||||
"path"
|
"path"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
|
|
||||||
|
"github.com/docker/engine-api/types"
|
||||||
"github.com/docker/libcompose/project/options"
|
"github.com/docker/libcompose/project/options"
|
||||||
"github.com/rancher/os/cmd/control"
|
"github.com/rancher/os/cmd/control"
|
||||||
"github.com/rancher/os/compose"
|
"github.com/rancher/os/compose"
|
||||||
@ -74,22 +76,22 @@ func loadImages(cfg *config.CloudConfig) (*config.CloudConfig, error) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// client.ImageLoad is an asynchronous operation
|
||||||
|
// To ensure the order of execution, use cmd instead of it
|
||||||
inputFileName := path.Join(config.ImagesPath, image)
|
inputFileName := path.Join(config.ImagesPath, image)
|
||||||
input, err := os.Open(inputFileName)
|
|
||||||
if err != nil {
|
|
||||||
return cfg, err
|
|
||||||
}
|
|
||||||
|
|
||||||
defer input.Close()
|
|
||||||
|
|
||||||
log.Infof("Loading images from %s", inputFileName)
|
log.Infof("Loading images from %s", inputFileName)
|
||||||
if _, err = client.ImageLoad(context.Background(), input, true); err != nil {
|
if err = exec.Command("/usr/bin/system-docker", "load", "-q", "-i", inputFileName).Run(); err != nil {
|
||||||
log.Fatalf("FATAL: failed loading images from %s: %s", inputFileName, err)
|
log.Fatalf("FATAL: failed loading images from %s: %s", inputFileName, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Infof("Done loading images from %s", inputFileName)
|
log.Infof("Done loading images from %s", inputFileName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dockerImages, _ := client.ImageList(context.Background(), types.ImageListOptions{})
|
||||||
|
for _, dimg := range dockerImages {
|
||||||
|
log.Infof("Got image repo tags: %s", dimg.RepoTags)
|
||||||
|
}
|
||||||
|
|
||||||
return cfg, nil
|
return cfg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user