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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
13
votes
Accepted
Does "docker run" actually SSH into the container?
No, it uses an internal "attach protocol" via the Docker daemon.
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 (...
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 ...
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 ...
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 ...
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:
...
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
$ ...
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 ...
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 ...
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'...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
containers × 201docker × 131
kubernetes × 43
docker-compose × 18
images × 13
dockerfile × 12
linux × 11
docker-swarm × 11
orchestration × 11
windows × 10
security × 9
microservices × 9
continuous-integration × 8
networking × 8
databases × 8
amazon-web-services × 7
ubuntu × 7
deployment × 6
virtualization × 6
configuration × 5
continuous-deployment × 4
testing × 4
helm × 4
bash × 4
mysql × 4