<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.smithnet.org.uk/wiki/index.php?action=history&amp;feed=atom&amp;title=Docker</id>
	<title>Docker - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.smithnet.org.uk/wiki/index.php?action=history&amp;feed=atom&amp;title=Docker"/>
	<link rel="alternate" type="text/html" href="https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;action=history"/>
	<updated>2026-04-11T03:27:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=1621&amp;oldid=prev</id>
		<title>NickPGSmith at 11:43, 12 February 2026</title>
		<link rel="alternate" type="text/html" href="https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=1621&amp;oldid=prev"/>
		<updated>2026-02-12T11:43:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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-GB&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 11:43, 12 February 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-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&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;  dnf install docker&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;  dnf install docker&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;div&gt;  systemctl start docker&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;  systemctl start docker&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Login:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; docker login docker.io&lt;/ins&gt;&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;Control images:&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;Control images:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NickPGSmith</name></author>
	</entry>
	<entry>
		<id>https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=43&amp;oldid=prev</id>
		<title>NickPGSmith: 2 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=43&amp;oldid=prev"/>
		<updated>2024-05-08T04:53:33Z</updated>

		<summary type="html">&lt;p&gt;2 revisions imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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-GB&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 04:53, 8 May 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki-:diff:1.41:old-42:rev-43 --&gt;
&lt;/table&gt;</summary>
		<author><name>NickPGSmith</name></author>
	</entry>
	<entry>
		<id>https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=42&amp;oldid=prev</id>
		<title>NickPGSmith: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=42&amp;oldid=prev"/>
		<updated>2023-02-17T21:02:05Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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-GB&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 21:02, 17 February 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki-:diff:1.41:old-41:rev-42 --&gt;
&lt;/table&gt;</summary>
		<author><name>NickPGSmith</name></author>
	</entry>
	<entry>
		<id>https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=41&amp;oldid=prev</id>
		<title>NickPGSmith: /* Push image */</title>
		<link rel="alternate" type="text/html" href="https://www.smithnet.org.uk/wiki/index.php?title=Docker&amp;diff=41&amp;oldid=prev"/>
		<updated>2022-05-30T19:56:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Push image&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== General ==&lt;br /&gt;
&lt;br /&gt;
* [https://hub.docker.com/ Docker Hub]&lt;br /&gt;
* [https://docs.docker.com/reference/ Docker Docs]&lt;br /&gt;
* [https://docs.docker.com/engine/reference/commandline/cli/ Docker command] reference&lt;br /&gt;
* [https://docs.docker.com/network/ Docker networking]&lt;br /&gt;
* [https://docs.docker.com/engine/reference/builder/ Dockerfile] reference&lt;br /&gt;
* Images:&lt;br /&gt;
** [https://hub.docker.com/_/alpine Alpine] Linux&lt;br /&gt;
** [https://hub.docker.com/_/fedora Fedora] Linux&lt;br /&gt;
&lt;br /&gt;
Install/start docker&lt;br /&gt;
 dnf install docker&lt;br /&gt;
 systemctl start docker&lt;br /&gt;
&lt;br /&gt;
Control images:&lt;br /&gt;
 docker pull &amp;lt;name&amp;gt;&lt;br /&gt;
 docker image ls&lt;br /&gt;
 docker image rm &amp;lt;image&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Control containers:&lt;br /&gt;
* run creates a container from an image&lt;br /&gt;
* capture container stdin with -it&lt;br /&gt;
* map host filesystem into container in readonly mode and an SELinux label&lt;br /&gt;
 docker run --name fedora -it --volume /home/docker:/mount:ro,Z fedora&lt;br /&gt;
&lt;br /&gt;
* each container has its own network: need to bind container ports to host ports&lt;br /&gt;
 docker run --name nginx -p 8080:80 -v /home/html:/usr/share/nginx/html:ro,Z nginx&lt;br /&gt;
&lt;br /&gt;
 docker start -d &amp;lt;container&amp;gt;&lt;br /&gt;
 docker stop &amp;lt;container&amp;gt;&lt;br /&gt;
 docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
 docker ps&lt;br /&gt;
 docker ps -a&lt;br /&gt;
 docker port &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
Network types:&lt;br /&gt;
* Bridge (default) : on separate 172. network&lt;br /&gt;
* host : no network isolation&lt;br /&gt;
* none : completely isolated&lt;br /&gt;
* ipvlan&lt;br /&gt;
* macvlan&lt;br /&gt;
&lt;br /&gt;
Containers can communicate with a bridge network by IP, or better via built-in DNS (via container name) as long as the bridge network is named.&lt;br /&gt;
&lt;br /&gt;
Show network drivers:&lt;br /&gt;
 docker network ls&lt;br /&gt;
&lt;br /&gt;
Show gateway and IPs that the containers have:&lt;br /&gt;
 docker network inspect bridge&lt;br /&gt;
&lt;br /&gt;
Create NewNetwork:&lt;br /&gt;
 docker network create --driver bridge --subnet 192.168.7.0/24 NewNetwork&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
&lt;br /&gt;
on host, in /var/lib/docker&lt;br /&gt;
* containers&lt;br /&gt;
* image&lt;br /&gt;
* volumes&lt;br /&gt;
&lt;br /&gt;
Data is copy-on-write to the container, and never updates the underlying image, so gets lots when the container is destroyed.&lt;br /&gt;
&lt;br /&gt;
Create a volume (in volumes):&lt;br /&gt;
 docker volume create NewVol&lt;br /&gt;
&lt;br /&gt;
Volume Mount for MySQL container:&lt;br /&gt;
 docker run -v NewVol:/var/lib/mysqql mysql&lt;br /&gt;
&lt;br /&gt;
Bind Mount to anywhere on the host filesystem with full path:&lt;br /&gt;
 docker run -v /data/MySQL:/var/lib/mysqql mysql&lt;br /&gt;
&lt;br /&gt;
But the preferred way is:&lt;br /&gt;
 --mount type=bind,source=/data/MySQL,target=/var/lib/mysql&lt;br /&gt;
&lt;br /&gt;
== Create an image ==&lt;br /&gt;
&lt;br /&gt;
Dockerfile:&lt;br /&gt;
 # Some comment&lt;br /&gt;
 FROM baseimage:tag&lt;br /&gt;
 LABEL org.opencontainers.image.authors=&amp;quot;me@example.com&amp;quot;&lt;br /&gt;
 LABEL version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 WORKDIR /data&lt;br /&gt;
 COPY somefile .&lt;br /&gt;
 ENV PORT 8088&lt;br /&gt;
 RUN somecommand&lt;br /&gt;
 ENTRYPPOINT [&amp;quot;python&amp;quot;, &amp;quot;manage.py&amp;quot;, &amp;quot;runserver&amp;quot;]&lt;br /&gt;
 CMD [&amp;quot;echo&amp;quot;, &amp;quot;Hello World!]&lt;br /&gt;
&lt;br /&gt;
Build:&lt;br /&gt;
 docker build --rm -t name:tag .&lt;br /&gt;
&lt;br /&gt;
=== Entrypoints / Commands ===&lt;br /&gt;
&lt;br /&gt;
* ENTRYPOINT defines the command that is run as PID 1&lt;br /&gt;
* CMD adds options to it the entrypoint. If ENTRYPOINT is not specified, &amp;quot;/bin/sh -c&amp;quot; is assumed&lt;br /&gt;
* Anything added after image name in &amp;quot;docker run&amp;quot; command is treated as CMD arguments&lt;br /&gt;
&lt;br /&gt;
=== Environment Variables ===&lt;br /&gt;
&lt;br /&gt;
Pass into docker run:&lt;br /&gt;
 docker run -e DBUSER=dbuser -e DBPORT=5432 &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or using a value so it doesn&amp;#039;t appear on process list:&lt;br /&gt;
 docker run -e DBUSER=dbuser -e DBPASS &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or from a file:&lt;br /&gt;
 docker run --env-file ./env_vars&lt;br /&gt;
&lt;br /&gt;
== Push image ==&lt;br /&gt;
&lt;br /&gt;
* Create a repository on [https://hub.docker.com/ Docker Hub], someuser/somerepo&lt;br /&gt;
&lt;br /&gt;
When building a local image use the tag &amp;quot;someuser/somerepo&amp;quot;, or tag an existing local image &amp;quot;local-image&amp;quot; with the dockerhub tag:&lt;br /&gt;
 docker tag local-image someuser/somerepo&lt;br /&gt;
&lt;br /&gt;
Login to docker (credential store in /root/.docker/config.json):&lt;br /&gt;
 docker login&lt;br /&gt;
&lt;br /&gt;
Push the image to dockerhub (tagname defaults to latest):&lt;br /&gt;
 docker push someuser/somerepo:tagname&lt;br /&gt;
&lt;br /&gt;
Push a new image:&lt;br /&gt;
 docker tag local-image:tagname somerepo:tagname&lt;br /&gt;
 docker push somerepo:tagname&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
Look at stdout from PID 1:&lt;br /&gt;
 docker logs -f &amp;lt;container&amp;gt;&lt;br /&gt;
File is stored on host (see inspect for path) until container is removed. Has options -f and -n which act like tail.&lt;br /&gt;
&lt;br /&gt;
Attach terminal to container (CTRL-p CTRL-q to exit) and see stdout:&lt;br /&gt;
 docker attach &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start an interactive shell into the container:&lt;br /&gt;
 docker exec -it &amp;lt;container&amp;gt; /bin/bash&lt;br /&gt;
&lt;br /&gt;
Pause/unpause:&lt;br /&gt;
 docker pause &amp;lt;container&amp;gt;&lt;br /&gt;
 docker unpause &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See top for a container or stats for all containers on a host:&lt;br /&gt;
 docker top container&lt;br /&gt;
 docker stats&lt;br /&gt;
&lt;br /&gt;
See container definition/state (JSON):&lt;br /&gt;
 docker inspect &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
especially:&lt;br /&gt;
* Current state of the container. in the “State” property&lt;br /&gt;
* Path to the log history file, in the “LogPath” field&lt;br /&gt;
* Values of set environment vars, in the “Config.Env” field&lt;br /&gt;
* Mapped ports, in the “NetworkSettings.Ports” field&lt;br /&gt;
&lt;br /&gt;
Show container history:&lt;br /&gt;
 docker history &amp;lt;container&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Override ENTRYPOINT:&lt;br /&gt;
 docker run -d -p 80:80 --entrypoint /bin/sh /myrepo/mydjangoapp&lt;br /&gt;
&lt;br /&gt;
== Docker Compose ==&lt;br /&gt;
&lt;br /&gt;
TBC&lt;/div&gt;</summary>
		<author><name>NickPGSmith</name></author>
	</entry>
</feed>