= 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|podman(1)]], which uses the same syntax but designs out the daemonized service architecture. <> ---- == Installation and Setup == === 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]] * [[Docker/BridgeNetworks|Bridge Networks]] == Administration == * [[Docker/BindMounts|Bind Mounts]] * [[Docker/Configuration|Configuration]] * [[Docker/Registry|Docker Registry]] * [[Docker/InteractiveUse|Interactive Use]] * [[Docker/LoggingAndMonitoring|Logging and Monitoring]] * [[Docker/Multiplatform|Multiplatform]] * [[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]] ---- CategoryRicottone