DEV Community

Discussion on: What is docker?

Collapse
blardo profile image
Anthony Blardo™

Virtualenv provides dependency isolation for a specific programming language - it lets you use different versions of Python and keep the pip packages you want located within the project space you setup.

Docker is a similar concept in that it keeps things isolated, but it steps down a tier lower in the stack. Docker lets you build containers that are effectively smaller operating systems in a can that can leverage the host OS's resources through the Docker daemon.

You can create a Dockerfile that creates a container which installs Python, installs the pip dependencies using a Pipfile inside the container, and then run the app using that container all without causing an impact to the local filesystem on the machine that is executing the container.

A Docker container's only contract to the outside world is exposing a port to allow traffic to communicate into the service inside of the container.

Thread Thread
kayis profile image
K (he/him)

Is it a good idea to use this for front-end dev-environments?

I had some issues with npm and nodejs versions back in the days, would be nice if I could create a something stable that would minimize dev-env setup and would always build my stuff.

Thread Thread
davids89 profile image
David

Yes, it's perfect to make isolated projects and configure a specific version of dependecies.

Thread Thread
kayis profile image
K (he/him)

Does Docker for Mac work with Xcode (cli stuff)?

Thread Thread
davids89 profile image
David

I use it in Mac with the terminal to use the cli

Thread Thread
kayis profile image
K (he/him)

I want to build iOS apps with the Xcode cli tools and fastlane, that's why I'm asking :)

Thread Thread
davids89 profile image
David

By the official website

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.