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

Add Colima installation over Docker Desktop #96

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from

Conversation

michaelsaki
Copy link
Collaborator

@michaelsaki michaelsaki commented Feb 9, 2024

🗣 Description

This PR will remove the current Docker documentation from the mac-env-setup.md and replace it with steps to install and configure Colima.

💭 Motivation and context

Docker now requires certain users and businesses to purchase a license for use of Docker Desktop.

Colima is an open source software that is already used by developers in this organization and has a similar set of CLI commands as Docker.

This will satisfy issue #95.

✅ Pre-approval checklist

  • This PR has an informative and human-readable title.
  • Changes are limited to a single goal - eschew scope creep!
  • All relevant type-of-change labels have been added.
  • I have read the CONTRIBUTING document.
  • These code changes follow cisagov code standards.
  • All relevant repo and/or project documentation has been updated
    to reflect the changes in this PR.
  • All new and existing tests pass.

@michaelsaki michaelsaki linked an issue Feb 9, 2024 that may be closed by this pull request
1 task
@michaelsaki michaelsaki requested a review from dv4harr10 February 9, 2024 20:43
@michaelsaki michaelsaki self-assigned this Feb 13, 2024
@michaelsaki michaelsaki added the documentation This issue or pull request improves or adds to documentation label Feb 13, 2024
@dv4harr10
Copy link
Contributor

Hi Michael, I noticed 2 small issues: 1) for dev_envs/mac-env-setup.md line 153 , requires a wording change from 'optionalcon figuration' to 'optional configuration'. 2) for two brew install commands I received the error: Permission denied @ apply2files-/usr/local/lib/docker/cli-plugins. (This occurred when running 'brew install docker-buildx' and 'brew install colima docker docker-compose').

@michaelsaki
Copy link
Collaborator Author

michaelsaki commented Feb 14, 2024

Hi Michael, I noticed 2 small issues: 1) for dev_envs/mac-env-setup.md line 153 , requires a wording change from 'optionalcon figuration' to 'optional configuration'. 2) for two brew install commands I received the error: Permission denied @ apply2files-/usr/local/lib/docker/cli-plugins. (This occurred when running 'brew install docker-buildx' and 'brew install colima docker docker-compose').

I think the second issue might be because you haven't removed previous docker configurations from your system.

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
Copy link
Member

@dav3r dav3r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a full review, but a couple of items caught my eye.

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
Copy link
Member

@jsf9k jsf9k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One very minor thang.

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
@michaelsaki michaelsaki added the improvement This issue or pull request will add or improve functionality, maintainability, or ease of use label Feb 21, 2024
Copy link
Member

@dav3r dav3r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 👍

@michaelsaki michaelsaki force-pushed the documentation/add-docker-alternative branch from faeed39 to b8034d4 Compare February 28, 2024 17:20
@michaelsaki
Copy link
Collaborator Author

Something I noticed when running Molecule was that I left out the steps for configuring the new Docker daemon managed by Colima. Not a huge change but still thought you all would want to take a look: b8034d4

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
Copy link
Member

@dav3r dav3r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding this! 👍 👍

Copy link
Member

@jsf9k jsf9k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval intensifies!!!

@michaelsaki
Copy link
Collaborator Author

Approval intensifies!!!

Final boss approaches! @mcdonnnj

Michael Saki and others added 14 commits March 7, 2024 16:26
Since our suggested containerization tool
is Colima it makes sense to update the
development guide to reflect this and remove
the Docker installation steps.
Co-authored-by: David Harris <[email protected]>
Co-authored-by: Shane Frasier <[email protected]>
Adds documentation for linking Colima with the Docker daemon. This ensures
Docker client tools communicate with Colima's managed Docker daemon,
essential for Docker-based applications like Molecule without Docker Desktop.
Includes the setup code snippet and its importance for better user understanding
and usability in development workflows.
Co-authored-by: Shane Frasier <[email protected]>
Change the section heading from "Configure Colima's Docker daemon" to "Support applications that are unaware of Docker context" to make it more accurate and reflective of the content.

Co-authored-by: dav3r <[email protected]>
@jsf9k jsf9k force-pushed the documentation/add-docker-alternative branch from 5a4f322 to 66de2ef Compare March 7, 2024 21:26
@michaelsaki
Copy link
Collaborator Author

@mcdonnnj Last call on the review for this. 🚂

Copy link
Member

@mcdonnnj mcdonnnj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strong work 💪💪💪 I have some feedback for your consideration.

Note

I tested and verified the plugin interactions with the docker-compose and docker-buildx formulae. Immediately after installation I was able to run a docker <plugin> and get the help output while before installation Docker complained about an unknown command.

@@ -106,6 +109,128 @@ After installing Brew, you'll want to install other useful
packages. We recommend installing all the packages specified in the
[CISA `laptop` script repository](https://github.com/cisagov/laptop/blob/master/Brewfile).

### Colima: A Docker alternative ###
Copy link
Member

@mcdonnnj mcdonnnj Apr 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like this whole section to be a sub-section for Docker (above). It still relies on Docker under the hood (by default) and simply provides an alternative for Docker Desktop.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mcdonnnj see here 8ce2503

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved

Enhance your Colima setup with the following optional configurations:

#### Docker Compose as a Docker plugin ####
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the docker-compose formula is the Compose plugin. You can see in the formula's code that it's pulling down the latest version. It just creates a docker-compose binary that is symlinked into the plugins directory.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! Verified it on my end. Everything looks good without the config stuff.

See here: 8ce2503

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved

Ensure the `docker compose` usage menu is displayed.

#### Installing Buildx ####
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also already installed as a Docker plugin by the formula per the formula's code.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See here: 8ce2503

dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
dev_envs/mac-env-setup.md Outdated Show resolved Hide resolved
michaelsaki and others added 3 commits May 2, 2024 12:02
It was discovered that the docker-compose formula is the Compose plugin.
It creates a docker-compose binary that is symlinked into the plugins
directory. This is also the case for the docker-buildx plugin. Since this
is the case it makes sense to remove the instructions for configuring the
plugins.

The Colima instructions were also moved to be a sub section under
the Docker section since Colima relies on Docker under the hood and is
simply an alternative to Docker.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation This issue or pull request improves or adds to documentation improvement This issue or pull request will add or improve functionality, maintainability, or ease of use
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add steps for using an alternative to Docker
5 participants