123 votes
Accepted

Why it is recommended to run only one process in a container?

Lets forget the high-level architectural and philosophical arguments for a moment. While there may be some edge cases where multiple functions in a single container may make sense, there are very ...
Jon's user avatar
  • 1,345
66 votes

Why it is recommended to run only one process in a container?

Having slain a "two processes" container a few days ago, there are some pain points for me which caused me to use two container instead of a python script that started two processes: Docker ...
Christian Sauer's user avatar
40 votes
Accepted

What are the reasons Docker should not be used for databases?

When people talk about running a database in Docker, they do not mean to store the data in a container; they are talking about having a docker image with the DB software, and mounting the data as a ...
AnoE's user avatar
  • 4,866
21 votes

Why it is recommended to run only one process in a container?

The recommendation comes from the goal and design of the Operating-system-level virtualization Containers have been designed to isolate a process for others by giving it its own userspace and ...
Tensibai's user avatar
  • 11.3k
20 votes

What is a container?

The very first thing to know about a container is: It is, first and foremost, a process. Once that is understood, one can start to understand how containers compare and contrast with virtual ...
Dave Swersky's user avatar
  • 4,068
18 votes
Accepted

Simple CI/CD Containers in AWS

I would keep the ECS container instances (I'm talking about the Docker hosts - I don't like AWS terminology here) and the deployment as two separate things. Get your ECS stack up and running. You can ...
Alexandre's user avatar
  • 1,955
15 votes
Accepted

On Azure, how do I run a short-lived Docker container on a schedule?

Azure Container Instances (ACI) may be a good option as you suggest. These let you run a container directly on Azure, without having to manage a VM, with per-second billing for the time the container ...
RichVel's user avatar
  • 872
13 votes
Accepted

What role do Configuration Managment tools play in immutable infrastructure?

There are a few answers to that: Something needs to build those immutable images. It is certainly easier to use old-school-style procedural scripting to build something when starting from a known ...
coderanger's user avatar
  • 1,197
13 votes
Accepted

Does "docker run" actually SSH into the container?

No, it uses an internal "attach protocol" via the Docker daemon.
Gaius's user avatar
  • 1,086
13 votes

Difference between chroot and Docker

Well, the extra bells and whistles is called process isolation, a container gets its own namespace from the host kernel, that means the program in the container can't try to read kernel memory or eat ...
Tensibai's user avatar
  • 11.3k
11 votes

Why it is recommended to run only one process in a container?

As in most cases, it's not all-or-nothing. The guidance of "one process per container" stems from the idea that containers should serve a distinct purpose. For example, a container should not be ...
Dave Swersky's user avatar
  • 4,068
11 votes

Combine Docker Swarm and Kubernetes

Update: Docker just released support for Kubernetes as scheduler, which changes the situation and makes Kubernetes just an alternative scheduler to Docker Swarm. TL;DR: DON'T DO IT. Engineers always ...
Jiri Klouda's user avatar
  • 5,807
11 votes

Does Docker allow containers to be OS agnostic?

Does the Docker engine abstract away the OS such that this configuration will run both apps? No, it does not. Docker uses containerisation as a core technology, which relies on the concept of sharing ...
user2640621's user avatar
  • 1,395
10 votes
Accepted

What are the best practices for anti-virus / anti-malware when using containers?

This is an area where you will need to talk directly to and potentially help educate your auditors. What you have to remember is they are responsible for ensuring that adequate controls are applied, ...
Richard Slater's user avatar
9 votes

Docker Container capacity planning

The same as any Linux load, consider no more processes in wait state than the number of CPU. The load on 1, 5 and 15 mins given by uptime should ideally be 1 less than number of cores. Containers ...
Tensibai's user avatar
  • 11.3k
9 votes

How to investigate a main process that has died in a docker container?

General ways to track why a process in Linux failed are good. One such way is to run a process using strace which will tell you the system calls process did and usually point to the reason for a ...
Evgeny Zislis's user avatar
9 votes
Accepted

Does the "cattle not pets" distinction apply as equally to machine instances as to containers?

While technologically, containers and virtual machines are very different, there is no apparent difference from the perspective of your software. It seems like the argument in your question is that ...
James Shewey's user avatar
  • 3,724
9 votes

What's the relationship between ContainerD and Docker?

Containerd is a daemon for running containers. The Docker blog has a nice write up explaining how this fits into Docker. While containerd is used in Docker, it can also be used as a daemon for other ...
Wesley Rolnick's user avatar
8 votes

What is a container?

The word container refers to a lightweight virtualisation technology available on modern Linux kernels, this technology is very similar to FreeBSD jails. An older, non-container-able, Linux kernel is ...
Michaël Le Barbier's user avatar
8 votes
Accepted

Developing inside a Docker image?

The onboarding experience should be almost as simple as telling your new developer to just clone the repo and run docker-compose up. Personally I wouldn't bother worrying about IDE integration because ...
bmagg's user avatar
  • 236
8 votes

Difference between chroot and Docker

Yes, there absolutely is more to it than chroot to the point that they have little to nothing in common. A standardized script file format including semantics relating to the task a hand Images (...
AnoE's user avatar
  • 4,866
7 votes

What is a container?

Usually containers refers to something like docker containers which have popularized the name I quote there from docker definition: Using containers, everything required to make a piece of ...
Tensibai's user avatar
  • 11.3k
7 votes

What are the reasons Docker should not be used for databases?

I wrote about this in depth but here's the summary: Preventing split brain (electing more than one master node) needs to be solved. Failure to do so can be catastrophic There are no production ready ...
Robo's user avatar
  • 745
7 votes
Accepted

Docker Images via Container vs Dockerfile

If one uses a Dockerfile then a colleague could also understand what happened (documentation as code). If one runs a container, enters it, runs commits then it would be hard to understand what ...
030's user avatar
  • 13.1k
7 votes
Accepted

Minikube - Is there a way to run Windows Containers?

It is not officially supported (as of Minikube 0.25.0, Kubernetes 1.9, January 2018). But there is Beta support for Windows server containers in Kubernetes. These articles contain more information: ...
Paidhi's user avatar
  • 326
7 votes
Accepted

Stress testing for docker container

Just a quick follow-up on pumba. Installation (for Ubuntu): $ curl -SL https://github.com/alexei-led/pumba/releases/download/0.7.2/pumba_linux_amd64 -O $ sudo mv pumba_linux_amd64 /usr/bin/pumba $ ...
Most Wanted's user avatar
7 votes
Accepted

Docker vs Virtualisation

First, Docker is just a company. =) There are two methods of isolating things, Methods that isolate the kernel. Methods that do not isolate the kernel. For all intents and purposes, methods that do ...
Evan Carroll's user avatar
  • 1,794
6 votes
Accepted

Advantages of Linux Containers over Docker

Docker is a specific implementation of Linux containers, or if you want to be more precise Docker is a distribution of tools that includes runc which is an implementation of Linux containers. Other ...
coderanger's user avatar
  • 1,197
6 votes

Where should I put my application configuration?

Who said that properties files and environment variables where mutually exclusive? There is a distinction to be made between "where do I store my app configuration?" And "where does my app source it'...
hvindin's user avatar
  • 1,734
6 votes
Accepted

Should worker processes of web applications be placed in separate containers?

I can think of only one case where overhead of running workers in separate containers is justified: if your setup uses docker swarm for clustered deployment. This way you will get all of the HA ...
Wintermute's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible