<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikibase.ronzz.org/index.php?action=history&amp;feed=atom&amp;title=Cheatsheets%3ADocker</id>
	<title>Cheatsheets:Docker - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikibase.ronzz.org/index.php?action=history&amp;feed=atom&amp;title=Cheatsheets%3ADocker"/>
	<link rel="alternate" type="text/html" href="https://wikibase.ronzz.org/index.php?title=Cheatsheets:Docker&amp;action=history"/>
	<updated>2026-09-24T23:46:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wikibase.ronzz.org/index.php?title=Cheatsheets:Docker&amp;diff=1557&amp;oldid=prev</id>
		<title>Rongzhou at 10:45, 23 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wikibase.ronzz.org/index.php?title=Cheatsheets:Docker&amp;diff=1557&amp;oldid=prev"/>
		<updated>2026-08-23T10:45:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:45, 23 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Docker packages software into lightweight, isolated containers, each run from a read-only image.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Docker packages software into lightweight, isolated containers, each run from a read-only image.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;New to Docker? [https://docs.docker.com/get-started/ Get Started] runs your first container&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; the [https://docs.docker.com/reference/cli/docker/ CLI reference] documents every command.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;New to Docker? [https://docs.docker.com/get-started/ Get Started] runs your first container&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Basic example: serve a website ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Basic example: serve a website ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rongzhou</name></author>
	</entry>
	<entry>
		<id>https://wikibase.ronzz.org/index.php?title=Cheatsheets:Docker&amp;diff=1556&amp;oldid=prev</id>
		<title>RonzzWikiCowriterAI: Create Docker cheatsheet. AI-assisted (RonzzWikiCowriter). (via create-page on MediaWiki MCP Server)</title>
		<link rel="alternate" type="text/html" href="https://wikibase.ronzz.org/index.php?title=Cheatsheets:Docker&amp;diff=1556&amp;oldid=prev"/>
		<updated>2026-08-23T10:43:16Z</updated>

		<summary type="html">&lt;p&gt;Create Docker cheatsheet. AI-assisted (RonzzWikiCowriter). (via create-page on MediaWiki MCP Server)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Cheatsheet}}&lt;br /&gt;
&lt;br /&gt;
Docker packages software into lightweight, isolated containers, each run from a read-only image.&lt;br /&gt;
&lt;br /&gt;
New to Docker? [https://docs.docker.com/get-started/ Get Started] runs your first container; the [https://docs.docker.com/reference/cli/docker/ CLI reference] documents every command.&lt;br /&gt;
&lt;br /&gt;
== Basic example: serve a website ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line highlight=&amp;quot;2,4&amp;quot; copy&amp;gt;&lt;br /&gt;
docker pull nginx                       # fetch the image&lt;br /&gt;
docker run -d --name web -p 8080:80 nginx  # start a container from it&lt;br /&gt;
docker ps                               # is it running?&lt;br /&gt;
curl localhost:8080                     # yes — the nginx welcome page&lt;br /&gt;
docker stop web &amp;amp;&amp;amp; docker rm web        # stop and remove it&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An &amp;#039;&amp;#039;&amp;#039;image&amp;#039;&amp;#039;&amp;#039; is a read-only template; a &amp;#039;&amp;#039;&amp;#039;container&amp;#039;&amp;#039;&amp;#039; is one running instance of it. Containers are throwaway — anything written inside them vanishes when the container is removed, unless kept in a [[#Volumes|volume]].&lt;br /&gt;
&lt;br /&gt;
== Running containers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; copy&amp;gt;&lt;br /&gt;
docker run -it ubuntu bash              # interactive terminal&lt;br /&gt;
docker run -d --name db postgres:16     # detached, named&lt;br /&gt;
docker run -p 8080:80 nginx             # host 8080 → container 80&lt;br /&gt;
docker run -v ./data:/app/data app      # mount a host directory&lt;br /&gt;
docker run --rm -it app                 # remove the container on exit&lt;br /&gt;
docker run -e MODE=prod app             # set an environment variable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Flag !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-d&amp;lt;/syntaxhighlight&amp;gt; || run detached (in the background)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-it&amp;lt;/syntaxhighlight&amp;gt; || interactive terminal (needed for bash)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-p host:container&amp;lt;/syntaxhighlight&amp;gt; || publish a port&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-v host:container&amp;lt;/syntaxhighlight&amp;gt; || mount a volume or directory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;--name&amp;lt;/syntaxhighlight&amp;gt; || give the container a name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;--rm&amp;lt;/syntaxhighlight&amp;gt; || auto-remove once it stops&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-e KEY=value&amp;lt;/syntaxhighlight&amp;gt; || set an environment variable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Port order is always host:container&amp;#039;&amp;#039;&amp;#039; — &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-p 8080:80&amp;lt;/syntaxhighlight&amp;gt; means your machine&amp;#039;s 8080 forwards to the container&amp;#039;s 80, not the other way round.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Managing containers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; copy&amp;gt;&lt;br /&gt;
docker ps                    # running containers&lt;br /&gt;
docker ps -a                 # all, including stopped&lt;br /&gt;
docker logs -f web           # follow the logs&lt;br /&gt;
docker exec -it web bash     # shell inside a running container&lt;br /&gt;
docker cp web:/etc/nginx/nginx.conf .   # copy a file out of a container&lt;br /&gt;
docker stop web              # stop one&lt;br /&gt;
docker start web             # start an existing (stopped) one&lt;br /&gt;
docker rm web                # remove a stopped container&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker run&amp;lt;/syntaxhighlight&amp;gt; always creates a new container.&amp;#039;&amp;#039;&amp;#039; Re-run the same task? &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker stop&amp;lt;/syntaxhighlight&amp;gt; / &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker start&amp;lt;/syntaxhighlight&amp;gt; the existing one instead — or use [[#Docker Compose|Compose]].&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; copy&amp;gt;&lt;br /&gt;
docker build -t myapp .           # build an image from the Dockerfile&lt;br /&gt;
docker images                     # list local images&lt;br /&gt;
docker pull postgres:16           # fetch an image (or a tag)&lt;br /&gt;
docker push user/myapp:v1         # upload to a registry&lt;br /&gt;
docker tag myapp user/myapp:v1    # retag&lt;br /&gt;
docker rmi myapp                  # remove an image&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dockerfile ==&lt;br /&gt;
&lt;br /&gt;
A plain text recipe that &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker build&amp;lt;/syntaxhighlight&amp;gt; turns into an image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dockerfile&amp;quot; copy&amp;gt;&lt;br /&gt;
FROM python:3.12-slim     # base image&lt;br /&gt;
WORKDIR /app              # working directory for the rest&lt;br /&gt;
COPY requirements.txt .   # copy file(s) into the image&lt;br /&gt;
RUN pip install -r requirements.txt&lt;br /&gt;
COPY . .                  # everything else&lt;br /&gt;
CMD [&amp;quot;python&amp;quot;, &amp;quot;app.py&amp;quot;]  # default command when run&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Volumes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; copy&amp;quot;&amp;gt;&lt;br /&gt;
docker run -v ./data:/app/data app     # bind mount: a host directory&lt;br /&gt;
docker run -v data-vol:/data app       # named volume, managed by Docker&lt;br /&gt;
docker volume ls                       # list named volumes&lt;br /&gt;
docker volume prune                    # remove unused ones&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Without a volume, container data is lost on &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker rm&amp;lt;/syntaxhighlight&amp;gt;.&amp;#039;&amp;#039;&amp;#039; The database keeps its data only because something like &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;-v db-data:/var/lib/postgresql/data&amp;lt;/syntaxhighlight&amp;gt; is mounted.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Compose ==&lt;br /&gt;
&lt;br /&gt;
Multi-container setups described in YAML — start, stop and rebuild everything with one command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; copy&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  web:&lt;br /&gt;
    build: .                    # build from the Dockerfile&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;8080:80&amp;quot;&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./data:/app/data&lt;br /&gt;
  db:&lt;br /&gt;
    image: postgres:16          # or pull a ready-made image&lt;br /&gt;
    environment:&lt;br /&gt;
      POSTGRES_PASSWORD: secret&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; copy&amp;gt;&lt;br /&gt;
docker compose up -d          # start everything in the background&lt;br /&gt;
docker compose up --build     # rebuild images, then start&lt;br /&gt;
docker compose ps             # status of all services&lt;br /&gt;
docker compose logs -f        # follow the combined logs&lt;br /&gt;
docker compose down           # stop and remove the containers&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The modern command is &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker compose&amp;lt;/syntaxhighlight&amp;gt; (space).&amp;#039;&amp;#039;&amp;#039; The old v1 tool was a separate binary spelled &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker-compose&amp;lt;/syntaxhighlight&amp;gt; (hyphen) — you may still see it in older tutorials.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; copy&amp;gt;&lt;br /&gt;
docker system prune      # dangling images, stopped containers, unused networks and cache&lt;br /&gt;
docker system prune -a   # ... plus every image no container uses&lt;br /&gt;
docker system df         # disk usage by images, containers, volumes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker system prune -a&amp;lt;/syntaxhighlight&amp;gt; removes images you are not running.&amp;#039;&amp;#039;&amp;#039; Images you might want again later need a &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;docker pull&amp;lt;/syntaxhighlight&amp;gt; — they are not lost, just re-fetched.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.docker.com/ Docker documentation] — the official docs&lt;br /&gt;
* [https://docs.docker.com/get-started/ Get Started] — the recommended tutorial&lt;br /&gt;
* [https://docs.docker.com/reference/cli/docker/ Docker CLI reference] — every command and flag&lt;br /&gt;
* [https://docs.docker.com/compose/ Compose documentation] — multi-container applications&lt;/div&gt;</summary>
		<author><name>RonzzWikiCowriterAI</name></author>
	</entry>
</feed>