Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: Enhancing Docker Image Usability for Cookbook Development #48

Open
mosoriob opened this issue Jul 1, 2024 · 3 comments
Open
Labels
enhancement New feature or request

Comments

@mosoriob
Copy link
Collaborator

mosoriob commented Jul 1, 2024

Motivation

Creating or improving a cookbook requires several testing steps: modifying the LLM repository, pushing the changes, GitHub building the image, updating the cookbook app, creating a new job, and testing. In my opinion, these are too many steps. The number of steps is high due to the current approach selected in the Docker images.

Context

Our current approach starts a Docker container that installs Conda and other packages on the user's account. This method allows users to resume their sessions over time, as the packages remain in their account.

However, this approach has several disadvantages:

  1. Limited Testing Environment: The paths depend on the TACC system, which means we cannot test the image on a local computer or with GitHub Actions. This limitation adds queue waiting time.
  2. Reproducibility Issues: Each user account is unique. If a user's account is not clean (i.e., they have previously installed packages), it can lead to inconsistencies and potential issues.

Proposed Complementary Approach

We propose a complementary approach: creating Docker images with all necessary packages (Conda and system packages) pre-installed. This approach involves the following steps:

  1. Modify the repository
  2. Push the changes
  3. GitHub builds the image
  4. Run the image on your local computer

Note that if a user installs a package during a session, it will not be available in subsequent sessions. Users will need to add any required packages to the repository package list.

@mosoriob mosoriob added the enhancement New feature or request label Jul 1, 2024
@mepearson
Copy link

Fully support.

@wmobley
Copy link
Contributor

wmobley commented Jul 2, 2024

How does get around the unique port forwarding issues of tacc?

@mosoriob
Copy link
Collaborator Author

The run.sh file will run only for tapis jobs.

IF IS RUNNING ON TACC:
    # run port forwarding

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants