Lines Matching full:docker
97 def machine_is_running(docker: cmd):
98 machine_state = docker("machine info").stdout()
109 def container_revision(docker: cmd, container_id: str):
110 image = docker("container inspect -f {{.Config.Image}}", container_id).stdout()
116 def container_id(docker: cmd, cros: bool):
117 return docker(f"ps -a -q -f name={container_name(cros)}").stdout()
120 def container_is_running(docker: cmd, cros: bool):
121 return bool(docker(f"ps -q -f name={container_name(cros)}").stdout())
124 def delete_container(docker: cmd, cros: bool):
125 cid = container_id(docker, cros)
128 docker("rm -f", cid).fg(quiet=True)
166 def ensure_container_is_alive(docker: cmd, docker_args: List[Optional[str]], cros: bool):
167 cid = container_id(docker, cros)
168 if cid and not container_is_running(docker, cros):
170 delete_container(docker, cros)
171 elif cid and not cros and container_revision(docker, cid) != DEV_IMAGE_VERSION:
173 delete_container(docker, cros)
175 if not container_is_running(docker, cros):
176 # Run neverending sleep to keep container alive while we 'docker exec' commands.
178 docker(
183 cid = container_id(docker, cros)
185 cid = container_id(docker, cros)
224 parser.add_argument("--use-docker", action="store_true")
237 has_docker = shutil.which("docker") != None
240 raise Exception("Please install podman (or docker) to use the dev container.")
246 # cros container only works in docker
252 "WARNING: Running dev_container with docker may cause root-owned files to be created."
256 docker = cmd("docker")
262 docker = cmd("podman")
266 if os.name == "nt" and not machine_is_running(docker):
268 docker("machine start").fg(quiet=True)
273 validate_podman(docker)
290 TestDevContainer.docker = docker
296 if not delete_container(docker, args.cros):
301 delete_container(docker, args.cros)
305 docker("pull", CROS_IMAGE_NAME).fg()
307 docker("pull", f"gcr.io/crosvm-infra/crosvm_dev:{DEV_IMAGE_VERSION}").fg()
323 docker(f"run --rm", *tty_args, *docker_args, *exec_args, *quoted_cmd).fg()
326 cid = ensure_container_is_alive(docker, docker_args, args.cros)
330 docker("exec", *tty_args, *exec_args, cid, *quoted_cmd).fg()
335 Runs live tests using the docker service.
341 docker: cmd
349 delete_container(self.docker, cros=False)
353 self.docker(
356 self.assertTrue(container_id(self.docker, cros=False))
357 self.assertFalse(container_is_running(self.docker, cros=False))
360 cid = ensure_container_is_alive(self.docker, self.docker_args, cros=False)
361 cid2 = ensure_container_is_alive(self.docker, self.docker_args, cros=False)
365 cid = ensure_container_is_alive(self.docker, self.docker_args, cros=False)
366 self.docker("kill", cid).fg()
369 ensure_container_is_alive(self.docker, self.docker_args, cros=False)
370 self.assertTrue(container_is_running(self.docker, cros=False))