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

Setup docker compose to construct end-to-end container workflow #16

Closed
11 of 14 tasks
glemieux opened this issue Jul 18, 2024 · 5 comments
Closed
11 of 14 tasks

Setup docker compose to construct end-to-end container workflow #16

glemieux opened this issue Jul 18, 2024 · 5 comments
Assignees

Comments

@glemieux
Copy link
Collaborator

glemieux commented Jul 18, 2024

Ideally we would like to have the users (and developers) simply run a single command to set up both the fates container, the jupyter container, and connect the two. Automating this with docker compose would help us avoid issues during setup due to users conducting operations out of order manually.

Tasks

Preview Give feedback
  1. OS: Linux permissions
  2. 3 of 3
    enhancement

Current process is as follows:

  1. Update env-template file with local folders and rename to .env
  2. docker compose up -d: use compose to start both containers in detached mode
  3. docker exec tutorial-notebook jupyter server list to expose the jupyter url to enable launching it
  4. docker exec -it elm-fates /bin/bash to enter interactive shell with the host land model and fates
@glemieux glemieux added this to the Beta test start milestone Jul 18, 2024
@glemieux glemieux self-assigned this Jul 18, 2024
@glemieux glemieux changed the title Investigate using docker compose to setup up end-to-end container workflow Setup docker compose to setup up end-to-end container workflow Jul 19, 2024
@glemieux glemieux changed the title Setup docker compose to setup up end-to-end container workflow Setup docker compose to construct end-to-end container workflow Jul 19, 2024
@glemieux
Copy link
Collaborator Author

The initial docker compose up test successfully started the containers, so I have the formatting correct currently. That said the following issues need to be addressed (added to tasks above):

@glemieux
Copy link
Collaborator Author

I needed to add tty to keep the elm-fates container running. I haven't found a definitive answer, but it has been suggested that stdin_open: true is also necessary, although rudimentary tests seems to suggest this isn't necessarily true.

@glemieux
Copy link
Collaborator Author

glemieux commented Jul 21, 2024

Currently, I'm launching jupyter after running docker compose in detached mode by grabbing the last few lines of the docker log:

docker logs --tail 3 tutorial-notebook

This works as the url is being populated with the necessary token. It is possible to simply enter http://localhost:8888/ to launch, but then I need to enter the token. It is also possible to simply click on the docker desktop port link:

Image

New issue created to address tokens: NGEET/tutorial-containers#5

@glemieux
Copy link
Collaborator Author

glemieux commented Aug 4, 2024

During discussions with @JessicaNeedham I realized that we could move the docker compose files into the fates-tutorial repo. This will allow the users to simply download or clone the just the repo that is most relevant to them, i.e. the fates-tutorial repo. The docker compose file move is updated via #27.

@glemieux
Copy link
Collaborator Author

glemieux commented Sep 9, 2024

Added helper script launch_jupyter for windows and mac/linux machines per #43. There are still some outstanding issues, but the workflow is operational as is.

@glemieux glemieux closed this as completed Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant