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.
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.
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.
I am trying to install hyper-ledger framework on aws server.As the server is being shared by multiple users I have been asked to do installations within my pip virtual env.
Now for Hyperledger , docker is one of the prerequisites , so should I install docker within virtualenv or install docker in root and then create virtual env?
Or if docker is there I do not need to use virtual env and docker will take care of separate environments.
Purpose of Virtual env here is only to maintain separate workspace.
so is there a difference between docker and the virtualenv in python or do i just compared the un-comparing stuff ?
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.
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.
Yes, it's perfect to make isolated projects and configure a specific version of dependecies.
Does Docker for Mac work with Xcode (cli stuff)?
I use it in Mac with the terminal to use the cli
I want to build iOS apps with the Xcode cli tools and fastlane, that's why I'm asking :)
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.
The virtualenv is a enviroment to install some dependencies. With Docker you can simulate a machine without using a virtual operative system.
Hi David,
I am trying to install hyper-ledger framework on aws server.As the server is being shared by multiple users I have been asked to do installations within my pip virtual env.
Now for Hyperledger , docker is one of the prerequisites , so should I install docker within virtualenv or install docker in root and then create virtual env?
Or if docker is there I do not need to use virtual env and docker will take care of separate environments.
Purpose of Virtual env here is only to maintain separate workspace.
You can create a docke for every environment