Differences between revisions 1 and 23 (spanning 22 versions)
Revision 1 as of 2021-11-16 18:10:12
Size: 277
Comment:
Revision 23 as of 2023-05-25 00:55:55
Size: 3340
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

'''Docker''' is a containerization project. It's primary components are:

 * `dockerd(8)`, the container runtime
 * `docker(1)`, the user interface to that runtime
 * `Dockerfile(5)`, the declarative language used to build a container image

Compare to [[Podman|podman(1)]], which uses the same syntax but designs out the daemonized service architecture.
Line 9: Line 17:
== Networking == == Installation and Setup ==
Line 11: Line 19:


=== Arch Linux ===

On [[Linux/Arch|Arch Linux]] install the `docker` package.

[[Linux/Systemd|Start and enable]] `docker.service`.


=== Alpine Linux ===

On [[Linux/Alpine|Alpine Linux]] install the `docker` package.

To start the runtime, try:

{{{
service docker start
}}}

To launch the database on startup, try:

{{{
rc-update add docker default
}}}



=== Debian ===

On [[Linux/Debian|Debian]] and derivative distributions, the package has been renamed several times. Furthermore the packages offered officially are significantly out of date. To ensure that there will be no issues, first try running:

{{{
sudo apt remove docker docker-engine docker.io containerd runc
}}}

Next, add the project's [[Encryption/PGP|PGP key]]. This does require some packages to be installed already: `ca-certificates`, `curl`, and `gnupg`.

{{{
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
}}}

For [[Linux/Ubuntu|Ubuntu]] and derivatives, replace the URL with `https://download.docker.com/linux/ubuntu/gpg`.

Now configure [[Linux/Debian/Apt|apt(1)]] to use the project's PPA.

{{{
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
}}}

Once again, for Ubuntu and derivatives, replace the URL with `https://download.docker.com/linux/ubuntu`.

Finally, install the packages.

{{{
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
}}}

[[Linux/Systemd|Start and enable]] `docker.service`.

----



== Tool Chain ==

 * [[Docker/BuildKit|BuildKit]]
 * [[Docker/Compose|Docker Compose]]
 * [[Docker/Dockerfile|Dockerfile]]
 * [[Docker/Hub|DockerHub]]
 * [[Docker/Swarm|Docker Swarm]]



== Runtime Network ==

 * [[Docker/Networking|Networking]]
Line 12: Line 101:
 * [[Docker/ReverseProxy|Reverse Proxy]]
Line 18: Line 106:
 * [[Docker/BindMounts|Bind Mounts]]
 * [[Docker/Configuration|Configuration]]
 * [[Docker/InteractiveUse|Interactive Use]]
Line 19: Line 110:
 * [[Docker/Registry|Docker Registry]]
 * [[Docker/Security|Security]]
 * [[Docker/Volumes|Volumes]]

----



== See also ==

[[https://man.archlinux.org/man/docker.1|docker(1)]]

[[https://man.archlinux.org/man/dockerd.8.en|dockerd(8)]]

[[https://man.archlinux.org/man/community/docker/Dockerfile.5.en|Dockerfile(5)]]

[[https://man.archlinux.org/listing/community/docker/|All Docker project man pages]]

[[https://docs.docker.com/reference/|Docker project reference documentation]]

Docker

Docker is a containerization project. It's primary components are:

  • dockerd(8), the container runtime

  • docker(1), the user interface to that runtime

  • Dockerfile(5), the declarative language used to build a container image

Compare to podman(1), which uses the same syntax but designs out the daemonized service architecture.


Installation and Setup

Arch Linux

On Arch Linux install the docker package.

Start and enable docker.service.

Alpine Linux

On Alpine Linux install the docker package.

To start the runtime, try:

service docker start

To launch the database on startup, try:

rc-update add docker default

Debian

On Debian and derivative distributions, the package has been renamed several times. Furthermore the packages offered officially are significantly out of date. To ensure that there will be no issues, first try running:

sudo apt remove docker docker-engine docker.io containerd runc

Next, add the project's PGP key. This does require some packages to be installed already: ca-certificates, curl, and gnupg.

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

For Ubuntu and derivatives, replace the URL with https://download.docker.com/linux/ubuntu/gpg.

Now configure apt(1) to use the project's PPA.

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Once again, for Ubuntu and derivatives, replace the URL with https://download.docker.com/linux/ubuntu.

Finally, install the packages.

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Start and enable docker.service.


Tool Chain

Runtime Network

Administration


See also

docker(1)

dockerd(8)

Dockerfile(5)

All Docker project man pages

Docker project reference documentation


CategoryRicottone

Docker (last edited 2023-06-02 22:47:54 by DominicRicottone)