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

Use pm to install docker #1321

Merged
merged 22 commits into from
Oct 14, 2021
Merged

Use pm to install docker #1321

merged 22 commits into from
Oct 14, 2021

Conversation

nemchik
Copy link
Member

@nemchik nemchik commented Jun 5, 2021

Pull request

Purpose
Replace use of https://get.docker.com/ with installations from package managers.
See #1321 (comment)
Objective has changed

Open Questions and Pre-Merge TODOs
Check all boxes as they are completed

  • Test ds -u origin/distro-docker then ds -fiv
  • Test on fresh install of Ubuntu
  • Test on fresh install of Fedora
  • Test on fresh install of Centos
  • Test on fresh install of Arch
  • Test on fresh install of Raspbian on ARM

With the change in objective, all distros except Arch are functionally unchanged and should not require additional testing.

Requirements
Check all boxes as they are completed

@github-actions github-actions bot added core Automatic label repo Automatic label labels Jun 5, 2021
This was referenced Jun 9, 2021
@nemchik nemchik added the work-in-progress Stale Exempt label Sep 15, 2021
@nemchik
Copy link
Member Author

nemchik commented Oct 2, 2021

CentOS installs podman when running yum install docker. podman seems to not play nice. We either need to adjust DS to work with podman or find a way to get vanilla docker to install (preferable).

@nemchik
Copy link
Member Author

nemchik commented Oct 13, 2021

Reconsidered and reworked this. The pm script structure can be used to install docker, however since apt applies to Ubuntu and Debian (and more) and dnf applies to Fedora and CentOS8+ (CentOS7 uses yum) it's not reliable to check for the existence of a package manager and install packages without knowing the repository will have them. The https://get.docker.com/ script seems to be fairly reliable at performing this correctly. The primary concern with using the https://get.docker.com/ script is at times a new version of Ubuntu will release and the official docker repo will not have a release readily available for weeks or even sometimes months. The best action may be to continue advising users to install docker manually in those cases or wait for an official docker-ce release.

This thought is partly motivated by docker's announcement that docker compose v2 will in the near future be baked into the docker engine. This would likely mean that the official docker repos would be the best way to install docker with compose. This may not always be the case (long term) but at least for the time being.

So why do anything at all?
This PR reorganizes how DS treats the installation of docker. The primary difference is that pacman/Arch can be fully supported, and additional package manager types (ex: apk/alpine) can be added in the future.

Additional thoughts:
CentOS8 will be EOL at the end of the year. CentOS7 will somehow not be EOL until 2024. CentOS8 uses dnf and thus conflicted with Fedora's ability to install docker from the package manager. Once CentOS8 is fully EOL I may revisit this in some ways. apt systems will likely always be a challenge as described above, and thus relying on https://get.docker.com/ may be a requirement for DS.

@nemchik nemchik marked this pull request as ready for review October 14, 2021 13:04
@nemchik nemchik requested review from a team as code owners October 14, 2021 13:04
@nemchik nemchik merged commit 2c74b8a into master Oct 14, 2021
@nemchik nemchik deleted the distro-docker branch October 14, 2021 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Automatic label repo Automatic label work-in-progress Stale Exempt
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant