Docker
Docker

21.5K
3.7K
6.4K
Jenkins
Jenkins

10.7K
2K
3.1K
Add tool

What is Docker?

Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.

What is Jenkins?

In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Docker?
Why do developers choose Jenkins?
What are the cons of using Docker?
What are the cons of using Jenkins?
What companies use Docker?
What companies use Jenkins?
What are some alternatives to Docker and Jenkins?
LXC
LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
rkt
Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.
Cloud Foundry
Cloud Foundry is an open platform as a service (PaaS) that provides a choice of clouds, developer frameworks, and application services. Cloud Foundry makes it faster and easier to build, test, deploy, and scale applications.
containerd
An industry-standard container runtime with an emphasis on simplicity, robustness, and portability
LXD
LXD isn't a rewrite of LXC, in fact it's building on top of LXC to provide a new, better user experience. Under the hood, LXD uses LXC through liblxc and its Go binding to create and manage the containers. It's basically an alternative to LXC's tools and distribution template system with the added features that come from being controllable over the network.
See all alternatives
What tools integrate with Docker?
What tools integrate with Jenkins?
Decisions about Docker and Jenkins
Khauth György
Khauth György
CTO at SalesAutopilot Kft. · | 11 upvotes · 23.1K views
atSalesAutopilot Kft.
AWS CodePipeline
Jenkins
Docker
vuex
Vuetify
Vue.js
jQuery UI
Redis
MongoDB
MySQL
Amazon Route 53
Amazon CloudFront
Amazon SNS
Amazon CloudWatch
GitHub

I'm the CTO of a marketing automation SaaS. Because of the continuously increasing load we moved to the AWSCloud. We are using more and more features of AWS: Amazon CloudWatch, Amazon SNS, Amazon CloudFront, Amazon Route 53 and so on.

Our main Database is MySQL but for the hundreds of GB document data we use MongoDB more and more. We started to use Redis for cache and other time sensitive operations.

On the front-end we use jQuery UI + Smarty but now we refactor our app to use Vue.js with Vuetify. Because our app is relatively complex we need to use vuex as well.

On the development side we use GitHub as our main repo, Docker for local and server environment and Jenkins and AWS CodePipeline for Continuous Integration.

See more
Joshua Dean K√ľpper
Joshua Dean K√ľpper
CEO at Scrayos UG (haftungsbeschränkt) · | 5 upvotes · 9.2K views
atScrayos UG (haftungsbeschränkt)
Jenkins
GitLab Pages
GitLab
GitLab CI

We use GitLab CI because of the great native integration as a part of the GitLab framework and the linting-capabilities it offers. The visualization of complex pipelines and the embedding within the project overview made Gitlab CI even more convenient. We use it for all projects, all deployments and as a part of GitLab Pages.

While we initially used the Shell-executor, we quickly switched to the Docker-executor and use it exclusively now.

We formerly used Jenkins but preferred to handle everything within GitLab . Aside from the unification of our infrastructure another motivation was the "configuration-in-file"-approach, that Gitlab CI offered, while Jenkins support of this concept was very limited and users had to resort to using the webinterface. Since the file is included within the repository, it is also version controlled, which was a huge plus for us.

See more
Sebastian Gńôbski
Sebastian Gńôbski
CTO at Shedul/Fresha · | 4 upvotes · 17.8K views
atFresha Engineering
Logentries
Sentry
AppSignal
New Relic
GitHub
Git
Jenkins
CircleCI

Regarding Continuous Integration - we've started with something very easy to set up - CircleCI , but with time we're adding more & more complex pipelines - we use Jenkins to configure & run those. It's much more effort, but at some point we had to pay for the flexibility we expected. Our source code version control is Git (which probably doesn't require a rationale these days) and we keep repos in GitHub - since the very beginning & we never considered moving out. Our primary monitoring these days is in New Relic (Ruby & SPA apps) and AppSignal (Elixir apps) - we're considering unifying it in New Relic , but this will require some improvements in Elixir app observability. For error reporting we use Sentry (a very popular choice in this class) & we collect our distributed logs using Logentries (to avoid semi-manual handling here).

See more
Interest over time
Reviews of Docker and Jenkins
Avatar of gdi2290
Co-Founder and CTO at Tipe
Review ofDockerDocker

Docker is the new kid on the block disrupting virtualization nowadays. You're able to save up to 70% of your development cost on AWS (or any other cloud) switching to Docker. For example instead of paying for many small VMs you can spin up a large one with many Docker containers to drastically lower your cost. That alone is only one of the reasons why Docker is the future and it's not even the best feature: isolation, testa­bil­i­ty, re­pro­ducibil­i­ty, standardization, security, and upgrading / down­grad­ing / ap­pli­ca­tion versions to name a few. You can spin up 1000's of Docker containers on an ordinary Laptop, but you would have trouble spinning up 100's of VMs. If you haven't already checked out Docker you're missing out on a huge opportunity to join the movement that will change development/production environments forever

Review ofDockerDocker

The support for macOS is a fake.

I can't work with docker in macOS because de network and comunications with the container don't works correctly.

How developers use Docker and Jenkins
Avatar of ssshake
ssshake uses DockerDocker

Currently experimenting. The idea is to isolate any services where I'm not confident yet in their security/quality. The hope is that if there is an exploit in a given service that an attacker won't be able break out of the docker container and cause damage to my systems.

An example of a service I would isolate in a docker container would be a minecraft browser map application I use. I don't know who wrote it, I don't know who's vetting it, I don't know the source code. I would feel a lot better putting this in a container before I expose it to the internet.

I believe I will follow this process for anything that's not properly maintained (not in an trusted apt-repo or some other sort of confidence)

Avatar of AngeloR
AngeloR uses DockerDocker

We are testing out docker at the moment, building images from successful staging builds for all our APIs. Since we operate in a SOA (not quite microservices), developers have a dockerfile that they can run to build the entirety of our api infrastructure on their machines. We use the successful builds from staging to power these instances allowing them to do some more manual integration testing across systems.

Avatar of Josh Habdas
Josh Habdas uses DockerDocker

Docker is used for local development along with boot2docker and VirtualBox as described in Simple websites with Jekyll and Docker. It's also used on the server to build and house the site. Additionally the container is hosted free with automated builds on DockerHub.

Avatar of Yaakov Gesher
Yaakov Gesher uses DockerDocker

Each component of the app was launched in a separate container, so that they wouldn't have to share resources: the front end in one, the back end in another, a third for celery, a fourth for celery-beat, and a fifth for RabbitMQ. Actually, we ended up running four front-end containers and eight back-end, due to load constraints.

Avatar of sapslaj
sapslaj uses DockerDocker

Linux containers are so much more lightweight than VMs which is quite important for my limited budget. However, Docker has much more support and tooling for it unlike LXC, hence why I use it. rkt is interesting, although I will probably stick with Docker due to being more widespread.

Avatar of Kalibrr
Kalibrr uses JenkinsJenkins

All of our pull requests are automatically tested using Jenkins' integration with GitHub, and we provision and deploy our servers using Jenkins' interface. This is integrated with HipChat, immediately notifying us if anything goes wrong with a deployment.

Avatar of Wirkn Inc.
Wirkn Inc. uses JenkinsJenkins

Jenkins is our go-to devops automation tool. We use it for automated test builds, all the way up to server updates and deploys. It really helps maintain our homegrown continuous-integration suite. It even does our blue/green deploys.

Avatar of B√Ļi Thanh
B√Ļi Thanh uses JenkinsJenkins
  • Continuous Deploy
  • Dev stage: autodeploy by trigger push request from 'develop' branch of Gitlab
  • Staging and production stages: Build and rollback quicly with Ansistrano playbook
  • Sending messages of job results to Chatwork.
Avatar of AngeloR
AngeloR uses JenkinsJenkins

Currently serves as the location that our QA team builds various automated testing jobs.

At one point we were using it for builds, but we ended up migrating away from them to Code Pipelines.

Avatar of Trusted Shops GmbH
Trusted Shops GmbH uses JenkinsJenkins

We use Jenkins to schedule our Browser and API Based regression and acceptance tests on a regular bases. We use additionally to Jenkins GitlabCI for unit and component testing.

How much does Docker cost?
How much does Jenkins cost?
Pricing unavailable
Pricing unavailable