zenml
zenml copied to clipboard
[BUG]: ZenML could not find .docker file
Contact Details [Optional]
No response
System Information
ZenML version: 0.11.0
Install path: /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml
Python version: 3.8.13
Platform information: {'os': 'linux', 'linux_distro': 'ubuntu', 'linux_distro_like': 'debian', 'linux_distro_version': '20.04'}
Environment: native
Integrations: ['aws', 'lightgbm', 'mlflow', 'plotly', 'pytorch', 's3', 'scipy', 'sklearn', 'wandb', 'xgboost']
What happened?
I ran a pipeline and got an error that says
RuntimeError: Docker error: no basic auth credentials.
To get around this error I have to manually export the .docker file with
export DOCKER_CONFIG=/home/dnth/snap/docker/1779/.docker/
I installed Docker on my Ubuntu machine using Snap package manager.
Reproduction steps
No response
Relevant log output
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/dnth/Desktop/zenfiles/image-segmentation/run_image_seg_pipeline.py:25 in <module> │
│ │
│ 22 │
│ 23 │
│ 24 if __name__ == "__main__": │
│ ❱ 25 │ run_img_seg_pipe() │
│ 26 │
│ │
│ /home/dnth/Desktop/zenfiles/image-segmentation/run_image_seg_pipeline.py:21 in run_img_seg_pipe │
│ │
│ 18 │ │ initiate_model_and_optimizer().with_return_materializers(ImageCustomerMaterializ │
│ 19 │ │ train_model(), │
│ 20 │ ) │
│ ❱ 21 │ image_seg_pipe.run() │
│ 22 │
│ 23 │
│ 24 if __name__ == "__main__": │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/pipelines/base_pipeline.py: │
│ 500 in run │
│ │
│ 497 │ │ self._reset_step_flags() │
│ 498 │ │ self.validate_stack(stack) │
│ 499 │ │ │
│ ❱ 500 │ │ return stack.deploy_pipeline( │
│ 501 │ │ │ self, runtime_configuration=runtime_configuration │
│ 502 │ │ ) │
│ 503 │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/stack/stack.py:615 in │
│ deploy_pipeline │
│ │
│ 612 │ │ │ pipeline=pipeline, runtime_configuration=runtime_configuration │
│ 613 │ │ ) │
│ 614 │ │ │
│ ❱ 615 │ │ return_value = self.orchestrator.run( │
│ 616 │ │ │ pipeline, stack=self, runtime_configuration=runtime_configuration │
│ 617 │ │ ) │
│ 618 │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/orchestrators/base_orchestr │
│ ator.py:262 in run │
│ │
│ 259 │ │ │ pipeline=pipeline, pb2_pipeline=pb2_pipeline │
│ 260 │ │ ) │
│ 261 │ │ │
│ ❱ 262 │ │ result = self.prepare_or_run_pipeline( │
│ 263 │ │ │ sorted_steps=sorted_steps, │
│ 264 │ │ │ pipeline=pipeline, │
│ 265 │ │ │ pb2_pipeline=pb2_pipeline, │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/orchestrators/local/local_o │
│ rchestrator.py:68 in prepare_or_run_pipeline │
│ │
│ 65 │ │ │
│ 66 │ │ # Run each step │
│ 67 │ │ for step in sorted_steps: │
│ ❱ 68 │ │ │ self.run_step( │
│ 69 │ │ │ │ step=step, │
│ 70 │ │ │ │ run_name=runtime_configuration.run_name, │
│ 71 │ │ │ │ pb2_pipeline=pb2_pipeline, │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/orchestrators/base_orchestr │
│ ator.py:366 in run_step │
│ │
│ 363 │ │ # This is where the step actually gets executed using the │
│ 364 │ │ # component_launcher │
│ 365 │ │ repo.active_stack.prepare_step_run() │
│ ❱ 366 │ │ execution_info = self._execute_step(component_launcher) │
│ 367 │ │ repo.active_stack.cleanup_step_run() │
│ 368 │ │ │
│ 369 │ │ return execution_info │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/orchestrators/base_orchestr │
│ ator.py:390 in _execute_step │
│ │
│ 387 │ │ start_time = time.time() │
│ 388 │ │ logger.info(f"Step `{pipeline_step_name}` has started.") │
│ 389 │ │ try: │
│ ❱ 390 │ │ │ execution_info = tfx_launcher.launch() │
│ 391 │ │ │ if execution_info and get_cache_status(execution_info): │
│ 392 │ │ │ │ logger.info(f"Using cached version of `{pipeline_step_name}`.") │
│ 393 │ │ except RuntimeError as e: │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/tfx/orchestration/portable/launch │
│ er.py:549 in launch │
│ │
│ 546 │ │ self._executor_operator.with_execution_watcher( │
│ 547 │ │ │ executor_watcher.address) │
│ 548 │ │ executor_watcher.start() │
│ ❱ 549 │ │ executor_output = self._run_executor(execution_info) │
│ 550 │ except Exception as e: # pylint: disable=broad-except │
│ 551 │ │ execution_output = ( │
│ 552 │ │ │ e.executor_output if isinstance(e, _ExecutionFailedError) else None) │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/tfx/orchestration/portable/launch │
│ er.py:424 in _run_executor │
│ │
│ 421 │ │
│ 422 │ outputs_utils.make_output_dirs(execution_info.output_dict) │
│ 423 │ try: │
│ ❱ 424 │ executor_output = self._executor_operator.run_executor(execution_info) │
│ 425 │ code = executor_output.execution_result.code │
│ 426 │ if code != 0: │
│ 427 │ │ result_message = executor_output.execution_result.result_message │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/step_operators/step_executo │
│ r_operator.py:280 in run_executor │
│ │
│ 277 │ │ │ requirements, │
│ 278 │ │ │ entrypoint_command, │
│ 279 │ │ ) │
│ ❱ 280 │ │ step_operator.launch( │
│ 281 │ │ │ pipeline_name=execution_info.pipeline_info.id, │
│ 282 │ │ │ run_name=execution_info.pipeline_run_id, │
│ 283 │ │ │ requirements=requirements, │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/integrations/aws/step_opera │
│ tors/sagemaker_step_operator.py:121 in launch │
│ │
│ 118 │ │ │ requirements: List of pip requirements that must be installed │
│ 119 │ │ │ │ inside the step operator environment. │
│ 120 │ │ """ │
│ ❱ 121 │ │ image_name = self._build_docker_image( │
│ 122 │ │ │ pipeline_name=pipeline_name, │
│ 123 │ │ │ requirements=requirements, │
│ 124 │ │ │ entrypoint_command=entrypoint_command, │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/integrations/aws/step_opera │
│ tors/sagemaker_step_operator.py:100 in _build_docker_image │
│ │
│ 97 │ │ │ requirements=set(requirements), │
│ 98 │ │ │ base_image=self.base_image, │
│ 99 │ │ ) │
│ ❱ 100 │ │ container_registry.push_image(image_name) │
│ 101 │ │ return docker_utils.get_image_digest(image_name) or image_name │
│ 102 │ │
│ 103 │ def launch( │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/container_registries/base_c │
│ ontainer_registry.py:111 in push_image │
│ │
│ 108 │ │ │ ) │
│ 109 │ │ │
│ 110 │ │ self.prepare_image_push(image_name) │
│ ❱ 111 │ │ docker_utils.push_docker_image(image_name) │
│ 112 │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/utils/docker_utils.py:317 │
│ in push_docker_image │
│ │
│ 314 │ logger.info("Pushing docker image '%s'.", image_name) │
│ 315 │ docker_client = DockerClient.from_env() │
│ 316 │ output_stream = docker_client.images.push(image_name, stream=True) │
│ ❱ 317 │ _process_stream(output_stream) │
│ 318 │ logger.info("Finished pushing docker image.") │
│ 319 │
│ 320 │
│ │
│ /home/dnth/anaconda3/envs/zenfiles/lib/python3.8/site-packages/zenml/utils/docker_utils.py:382 │
│ in _process_stream │
│ │
│ 379 │ │ │ try: │
│ 380 │ │ │ │ line_json = json.loads(line) │
│ 381 │ │ │ │ if "error" in line_json: │
│ ❱ 382 │ │ │ │ │ raise RuntimeError(f"Docker error: {line_json['error']}.") │
│ 383 │ │ │ │ elif "stream" in line_json: │
│ 384 │ │ │ │ │ logger.info(line_json["stream"].strip()) │
│ 385 │ │ │ │ else:
Code of Conduct
- [X] I agree to follow this project's Code of Conduct