It seems to me that everything depends on which "context" is employing the term "container", but yes, in general (usually) "container" will refer to the "images".
Now talk container in LXC context (LInuX Containers) may also be referring to the ability to virtualize a system (in this case Linux) on a "lower level" using operating system kernel resources, so LXC is a toolkit/features that enables such virtualization of "containers".
There are several tools, some make use of LXC, others of KVM, other "traditional" virtualization, all for similar purposes, porting software and its development environment, porting a program or more for easy execution, i.e., the use of virtualization of any level can rather be applied far beyond the development environment, at least it is what it seems to me so far, even if the initial focus is the most known (and encouraged).
Docker is not a competitor of LXC
I think this needs to be made clear, Docker is not a competitor, as stated by FAQ:
Docker technology is not a Replacement for LXC...
It uses LXC (just like it uses other media), it is a tool with more features and probably more dedicated to end users, focused on developers, possessing a command line interface and a simple configuration file that advances the hard part of doing certain things at hand, remembering that Docker is also able to run on Windows.
Windows does not use LXC
I know it seems strange that I claim that Docker uses LXC, but it runs on Windows, since this is not a Linux, but as I said that there are other tools that use LXC and other types of resources, Windows is an example of this, Docker in windows probably uses the Process Isolation (which is the "traditional" medium) or Hyper-V Isolation:
This is "traditional" method, the Microsoft documentation states that this is what resembles the LXC, but soon after states that Hyper-V is better at security, so it seems (I may be mistaken) that only provides a similar result for use, how to separate services and applications, but is not "totally isolated", this is best described in Windows containers, follows an image of how it works:
Microsoft states that this isolation mode offers enhanced security and wider compatibility between host and container versions. With Hyper-V isolation, multiple container instances run simultaneously on a host.
However, each container runs inside a virtual machine and effectively gets its own kernel. The presence of the virtual machine provides hardware level isolation between each container and the container host. Here’s an image of how it works:
LXD is not a competitor of LXC
Some people have confused believing it to be a new LXC or an alternative or something like that, but as LXC already states it is "the capacity" of the Linux kernel virtualizing at a lower level would not have to exist two ways to provide the same capacity, unless it was the same, but improved, but not the case.
LXD is a tool for managing containers and I don’t really know if it will replace the "simpletons" tools that LXC already has, but looking over the LXD seems more like a competitor of Docker than of native tools, of course I may be wrong, but from what I read it seems so far.
It is developed by Canonical (same developer of Ubuntu), and despite this provides support for different systems and distros (even Macos, does not mean that use LXC):
This support seems to me to demonstrate where the LXD "this", what it seems to me a competitor of the Docker.
I could also speak of LXCFS, I will summarize, is a file system designed to "resolve" some limitations of the Linux kernel, to allow access without privileges to systemd
inside the container interact with the cgroups
(groups of Linux controls), that is, just another tool to use with LXC.
So image and container in the context of the questions seems to me to refer to the same thing, because image is a way to refer to this, the Docker of course in turn can be one from a container to a really separate system, which will depend on the need.
Know the class and instance difference in OOP?
– Woss
@Woss Instance is an object of a class in memory, class is just the representation of something, at least in most languages, some class languages can be objects even having no "instance";D
– gato