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 runtime support #220

Open
tsibley opened this issue Sep 27, 2022 · 1 comment
Open

[setup] Docker runtime support #220

tsibley opened this issue Sep 27, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@tsibley
Copy link
Member

tsibley commented Sep 27, 2022

With the new nextstrain setup command that will soon land as part of #218, the framework is in place for runner modules to automatically set up their runtime. It appears we could use the official "command-line install" instructions for Docker, which seem intended for unattended installs like setup, as guides for implementing nextstrain setup docker.

Our own existing manual install instructions for Docker will be useful to cross-reference too.

Implementing this would be an exercise in attention to details, robustness in the face of different people's machines, and error handling, coupled with a lot of testing across platforms. But I think it'd be worth it, and greatly simplify our overall install instructions!

@tsibley
Copy link
Member Author

tsibley commented Dec 14, 2022

Since I was setting up the Docker runtime on a new Mac today for troubleshooting, I took the opportunity to try and do it in the terminal, as Nextstrain CLI might. My notes follow.


Download https://desktop.docker.com/mac/main/arm64/Docker.dmg

Install it:

hdiutil attach Docker.dmg
/Volumes/Docker/Docker.app/Contents/MacOS/install
hdiutil detach /Volumes/Docker

Then start the GUI app, which will prompt for privilege escalation to complete setup:

open /Applications/Docker.app

It takes a few seconds for the daemon to fully start after privileged setup is
complete.

On first docker run, another permission needed to be granted for access to
mount the host filesystem (at least in my case with ~/Downloads/).

tsibley added a commit that referenced this issue Jan 13, 2023
… run

The Conda runner is the first that can be setup all by itself, as long
as the OS is supported.  The current design of check-setup doesn't
really account for the separate state of supported vs. set up, so I
conditionalize what we report from test_setup().

As we add more automatic setup support for runtimes¹, it will probably
be good to change check-setup to consider support status and set up
status separately.

¹ e.g. <#220>
tsibley added a commit that referenced this issue Jan 13, 2023
… run

The Conda runner is the first that can be setup all by itself, as long
as the OS is supported.  The current design of check-setup doesn't
really account for the separate state of supported vs. set up, so I
conditionalize what we report from test_setup().

As we add more automatic setup support for runtimes¹, it will probably
be good to change check-setup to consider support status and set up
status separately.

¹ e.g. <#220>
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
No open projects
Status: Backlog
Development

No branches or pull requests

1 participant