Merge pull request #1139 from harshavardhana/docker

docker: Make sure that we properly check for containers.
master
Harshavardhana 9 years ago
commit 51e611a380
  1. 2
      Makefile
  2. 4
      runtime-checks.go

@ -138,7 +138,7 @@ install: gomake-all
dockerimage: checkdocker verifiers $(UI_ASSETS) dockerimage: checkdocker verifiers $(UI_ASSETS)
@echo "Building docker image:" minio:$(TAG) @echo "Building docker image:" minio:$(TAG)
@GO15VENDOREXPERIMENT=1 go build --ldflags $(DOCKER_LDFLAGS) -o minio.dockerimage @GO15VENDOREXPERIMENT=1 GOOS=linux GOARCH=amd64 go build --ldflags $(DOCKER_LDFLAGS) -o minio.dockerimage
@mkdir -p export @mkdir -p export
@sudo docker build --rm --tag=minio/minio:$(TAG) . @sudo docker build --rm --tag=minio/minio:$(TAG) .
@rmdir export @rmdir export

@ -29,12 +29,12 @@ import (
// isContainerized returns true if we are inside a containerized environment. // isContainerized returns true if we are inside a containerized environment.
func isContainerized() bool { func isContainerized() bool {
// Docker containers contain ".dockerinit" at its root path. // Docker containers contain ".dockerinit" at its root path.
if _, e := os.Stat("/.dockerinit"); os.IsNotExist(e) { if _, e := os.Stat("/.dockerinit"); e == nil {
return true return true
} }
// Check if cgroup policies for init process contains docker string. // Check if cgroup policies for init process contains docker string.
if cgroupData, e := ioutil.ReadFile("/proc/1/cgroup"); e != nil { if cgroupData, e := ioutil.ReadFile("/proc/1/cgroup"); e == nil {
if strings.Contains(string(cgroupData), "/docker-") { if strings.Contains(string(cgroupData), "/docker-") {
return true return true
} }

Loading…
Cancel
Save