Toyhouse_PKC>Admin |
|
(26 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| Since this project utilizes Docker technologies extensively, it is necessary to provide documentation on [[wikipedia:Docker (software)|Docker]]. | | __NOTOC__ |
| | {{WikiEntry|key=Docker|qCode=15206305}} is a Open-source software for deploying containerized applications. It extends the hash code-based naming convention of [[Git]] to manage data versioning of Docker image files. Since this project utilizes Docker technologies extensively, it is necessary to provide documentation on [[wikipedia:Docker (software)|Docker]]<ref>{{:Video/Learn Docker in 7 Easy Steps - Full Beginner's Tutorial}}</ref>. |
|
| |
|
| Before reading books on Docker, one can start reading some of the following articles: | | Before reading books on Docker, one can start reading some of the following articles: |
Line 5: |
Line 6: |
| # [https://vsupalov.com/6-docker-basics/ Six Docker Basics] | | # [https://vsupalov.com/6-docker-basics/ Six Docker Basics] |
| # [https://vsupalov.com/docker-arg-env-variable-guide/ Docker ARG, ENV and .env - a Complete Guide] | | # [https://vsupalov.com/docker-arg-env-variable-guide/ Docker ARG, ENV and .env - a Complete Guide] |
| | # [https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/ Container Terminology Practical Introduction] |
| | # [https://diveintodocker.com/?utm_source=ansibledocker&utm_medium=github&utm_campaign=readmetop Dive Into Docker] website |
| | |
| | ==Some Utilities to run Docker== |
| | "See this docker container? I wish I could run another one just like it, |
| | but I'll be damned if I'm going to type all those command-line switches manually!" |
| | * https://github.com/lavie/runlike |
| | |
| | ==Docker Installation Mysteries== |
| | There are two main packages for Docker installation, <code>docker.io</code> and <code>containerd.io</code>. If your network doesn't resolve certain repository site, you might not be able to install the software properly, and you might not be given the signals about why. In my case, I used a [[VPN]] service to pretend my computer is situated in the USA, and some problems are resolved. The particular case in point is here: |
| | |
| | <syntaxhighlight lang=BASH> |
| | echo "[TASK 5] Install containerd runtime" |
| | apt update -qq >/dev/null 2>&1 |
| | apt install -qq -y containerd apt-transport-https >/dev/null 2>&1 |
| | mkdir /etc/containerd |
| | containerd config default > /etc/containerd/config.toml |
| | systemctl restart containerd |
| | systemctl enable containerd >/dev/null 2>&1 |
| | </syntaxhighlight> |
| | |
| | ===Install software from local repository=== |
| | One way to avoid software download problems is to install a local instance of software repository. Relevant information can be found here: [[Ubuntu#Set%20up%20Local%20Repository|Set up Local Repository for Ubuntu]]. |
| | |
| | =Building Multi-Architecture Image= |
| | To build docker images for multiple architectures (ARM and AMD/Intel), please look at |
| | #[https://jitsu.com/blog/multi-platform-docker-builds Multi-Platform Docker Builds] |
| | #Another reference is here: [https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/ Mutli-architecture build and images] |
| | #[https://www.docker.com/blog/multi-arch-images/ Multi-Architecture Images posted 2019] |
| | |
| | Note that you must do the following command on the machine that tries to build images: |
| | docker buildx create --name mybuilder |
| | docker buildx use mybuilder |
| | Then, the <code>--platform linux/amd64,linux/arm64</code> options will start to work. |
| | Moreover, when building images from different networks, it is possible that certain packages are not available within your network region. Use VPN to get to another network and retry. |
| | ==More Advance Reading== |
| | # [https://www.redhat.com/en/blog/architecting-containers-part-1-why-understanding-user-space-vs-kernel-space-matters Why Understanding User Space vs. Kernel Space matters?] |
| | # [https://www.redhat.com/en/blog/architecting-containers-part-2-why-user-space-matters Why User Space matters?] |
| | # [https://www.redhat.com/en/blog/architecting-containers-part-3-how-user-space-affects-your-application How User Space affects your application?] |
| | |
| | ==Docker Tutorial for NetworkEngineers== |
| | There is a youtube channel called: [[NetworkEvolution]], which provides high quality video tutorials under the series of [[Docker Tutorial for Network Engineers]]. This series looks at [[Docker]] from a Network Engineer's viewpoint, which is a required mental model for understanind [[Docker]]. |
| | <noinclude> |
|
| |
|
| =References= | | =References= |
| | | <references/> |
| {{refs|refs=
| | =Related Pages= |
| <ref name="docker-1.0-release-article">{{cite web | url = https://blog.docker.com/2014/06/its-here-docker-1-0/ | title = It's Here: Docker 1.0 | website = Docker | publisher = Docker, Inc. | last = Barbier | first = Julien | date = June 9, 2014 | access-date = September 30, 2019}}</ref>
| | [[Category:Container Technology]] |
| <ref name="docker-releases">{{cite web | url = https://docs.docker.com/engine/release-notes/ | title = Docker Engine release notes | website = docker.com | publisher = Docker, Inc. | access-date = 1 March 2021}}</ref>
| | [[Category:Docker]] |
| <ref name="source-code">{{cite web | url = https://github.com/docker/distribution | title = Docker source code | website = docker/distribution repo | via = [[GitHub]] | publisher = Docker, Inc. | date = October 12, 2015 | access-date = October 24, 2015}}</ref>
| | </noinclude> |
| <ref name="docker-for-mac">{{cite web | url = https://docs.docker.com/docker-for-mac/ | title = Get started with Docker for Mac | work = docker.com | publisher = Docker, Inc. | access-date = September 27, 2018}}</ref>
| |
| <ref name="docker-enterprise">{{cite web | url = https://blog.docker.com/2017/03/docker-enterprise-edition/ | title = Announcing Docker Enterprise Edition | first = Michael | last = Friis | date = March 2, 2017 | website = Docker Blog | publisher = Docker, Inc. | access-date = March 2, 2017}}</ref>
| |
| <ref name="SYS-CON Media">{{cite web | last = O'Gara | first = Maureen | date = July 26, 2013 | url = http://maureenogara.sys-con.com/node/2747331 | title = Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud | publisher = SYS-CON Media | archive-url=https://web.archive.org/web/20190913100835/http://maureenogara.sys-con.com/node/2747331 | archive-date=2019-09-13 | url-status=dead}}</ref>
| |
| <ref name="Auto38-1">{{Cite web | url=https://docs.docker.com/engine/faq/#what-does-docker-technology-add-to-just-plain-lxc | title=Docker frequently asked questions (FAQ)| date=2019-03-02}}</ref>
| |
| <ref name="what-is-a-container">{{cite web |title=What is a Container? |url=https://www.docker.com/resources/what-container |website=docker.com |publisher=[[Docker, Inc.]] |access-date=13 May 2019}}</ref>
| |
| <ref name="os4u">{{cite web | url = http://opensourceforu.com/2017/02/docker-favourite-devops-world/ | title = Docker: A Favourite in the DevOps World | work = Open Source For U | date = February 8, 2017 | first = Vivek | last = Ratan | access-date = June 14, 2017}}</ref>
| |
| <ref name="docker-blog-2014-03">{{cite web | url = http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/ | title = Docker 0.9: Introducing execution drivers and libcontainer | date = March 10, 2014 | website = Docker Blog | publisher = Docker, Inc. | access-date = January 20, 2015}}</ref>
| |
| <ref name="Linux">{{cite web | last = Noyes | first = Katherine | date = August 1, 2013 | url = http://www.linux.com/news/enterprise/cloud-computing/731454-docker-a-shipping-container-for-linux-code | title = Docker: A 'Shipping Container' for Linux Code | website = [[Linux.com]] | access-date = August 9, 2013 | archive-url = https://web.archive.org/web/20130808043357/http://www.linux.com/news/enterprise/cloud-computing/731454-docker-a-shipping-container-for-linux-code/ | archive-date = August 8, 2013 | url-status = dead}}</ref>
| |
| <ref name="select-storage-driver">{{cite web | url = https://docs.docker.com/engine/userguide/storagedriver/selectadriver/ | title = Select a storage driver documentation | website = Docker documentation | archive-url = https://archive.today/20161206132431/https://docs.docker.com/engine/userguide/storagedriver/selectadriver/ | archive-date = December 6, 2016 | url-status = dead | access-date = December 7, 2016}}</ref>
| |
| <ref name="kernel-requirements">{{cite web | url = http://docker.readthedocs.org/en/v0.7.3/installation/kernel/ | title = Docker Documentation: Kernel Requirements | date = January 4, 2014 | website = docker.readthedocs.org | archive-url = https://web.archive.org/web/20140821065734/http://docker.readthedocs.org/en/v0.7.3/installation/kernel/ | archive-date = August 21, 2014 | access-date = August 20, 2014}}</ref>
| |
| <ref name="Chris K., Poweruser 2019"> {{Cite web | url = https://poweruser.blog/lightweight-windows-containers-using-docker-process-isolation-in-windows-10-62519be76c8c | title = Lightweight Windows containers: Using Docker process isolation in Windows 10 | access-date = 2 August 2019 | first = Chris | last = K. | date = 14 January 2019 | website = Poweruser | quote = more “lightweight” real containers (via so called process-isolation), where the containerized processes are running directly on the host system — all processes on the host and in the containers are sharing the same Windows kernel. This is similar to how containers on Linux work. | df = dmy-all }}</ref>
| |
| <ref name="datadog">{{cite web | title = 8 surprising facts about real Docker adoption | url = https://www.datadoghq.com/docker-adoption/ | website = Datadog | date = June 2018 | access-date = September 4, 2019}}</ref>
| |
| <ref name="kernel-keyrings">{{cite web | url = http://www.projectatomic.io/blog/2014/09/yet-another-reason-containers-don-t-contain-kernel-keyrings/ | title = Yet Another Reason Containers Don't Contain: Kernel Keyrings | first = Dan | last = Walsh | work = projectatomic.io | access-date = April 13, 2015 | date = September 15, 2014}}</ref>
| |
| <ref name="limit-resources">{{cite web | url = https://docs.docker.com/config/containers/resource_constraints/ | title = Limit a container's resources | website = Docker Documentation | access-date = March 7, 2018}}</ref>
| |
| <ref name="zdnet-7000030397">{{cite web | url = http://www.zdnet.com/docker-libcontainer-unifies-linux-container-powers-7000030397/ | title = Docker libcontainer unifies Linux container powers | first = Steven J. | last = Vaughan-Nichols | date = June 11, 2014 | website = [[ZDNet]] | access-date = July 30, 2014}}</ref>
| |
| <ref name="libcontainer">{{cite web | url = https://github.com/docker/libcontainer/blob/master/README.md | title = libcontainer – reference implementation for containers | website = docker/libcontainer repo | publisher = Docker, Inc. | via = [[GitHub]]] | access-date = July 30, 2014}}</ref>
| |
| <ref name="infoq-2013-03">{{cite web | last = Avram | first = Abel | date = March 27, 2013 | url = http://www.infoq.com/news/2013/03/Docker | title = Docker: Automated and Consistent Software Deployments | website = InfoQ | access-date = August 9, 2013}}</ref>
| |
| <ref name="docker-overview">{{cite web | url = https://docs.docker.com/engine/docker-overview/ | title = Docker overview | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 26, 2018}}</ref>
| |
| <ref name="dockerd">{{cite web | url = https://docs.docker.com/engine/reference/commandline/dockerd | title = dockerd | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 26, 2018}}</ref>
| |
| <ref name="cli-usage">{{cite web | url = https://docs.docker.com/engine/reference/commandline/cli/ | title = Use the Docker command line | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 26, 2018}}</ref>
| |
| <ref name="digitalocean">{{cite web | url = https://www.digitalocean.com/community/tutorials/the-docker-ecosystem-an-introduction-to-common-components | title = The Docker Ecosystem: An Introduction to Common Components | website = www.digitalocean.com | access-date = February 26, 2018}}</ref>
| |
| <ref name="docker-registry">{{cite web | url = https://docs.docker.com/registry/introduction/ | title = About Registry | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 26, 2018}}</ref>
| |
| <ref name="Auto38-2">{{Cite web | url=https://docs.docker.com/registry/notifications/ | title=Work with notifications| date=2019-03-02}}</ref>
| |
| <ref name="compose-overview">{{cite web | url = https://docs.docker.com/compose/overview/ | title = Overview of Docker Compose | website = Docker Documentation | publisher = Docker, Inc. | access-date = July 6, 2017}}</ref>
| |
| <ref name="compose-cli-ref">{{cite web | url = https://docs.docker.com/compose/reference/ | title = Compose command-line reference | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 28, 2018}}</ref>
| |
| <ref name="codeship">{{cite news | url = https://blog.codeship.com/orchestrate-containers-for-development-with-docker-compose/ | title = Orchestrate Containers for Development with Docker Compose | date = May 27, 2015 | work = via @codeship | access-date = February 28, 2018}}</ref>
| |
| <ref name="compose-v3-ref">{{cite web | url = https://docs.docker.com/compose/compose-file/ | title = Compose file version 3 reference | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 28, 2018}}</ref>
| |
| <ref name="release-0.0.1">{{cite web | url = https://github.com/docker/compose/releases/tag/0.0.1 | title = Release 0.0.1 | last = Firshman | first = Ben | date = December 21, 2013 | website = docker/compose | publisher = [[Docker, Inc.]] | via = [[GitHub]]}}</ref>
| |
| <ref name="release-1.0.0">{{cite web | url = https://github.com/docker/compose/releases/tag/1.0.0 | title = Release 1.0.0 | last = Prasad | first = Aanand | date = October 16, 2014 | website = docker/compose | publisher = [[Docker, Inc.]] | via = [[GitHub]]}}</ref>
| |
| <ref name="container-orchestration-tools">{{cite web | url = https://www.linux.com/news/8-open-source-CONTAINER-ORCHESTRATION-TOOLS-KNOW | title = 8 Container Orchestration Tools to Know | date = April 12, 2017 | website = [[Linux.com]] | access-date = July 6, 2017}}</ref>
| |
| <ref name="docker-swarm">{{cite web | url = https://docs.docker.com/swarm/ | title = Docker Swarm | website = Docker Documentation | publisher = Docker, Inc. | access-date = July 6, 2017}}</ref>
| |
| <ref name="Auto38-3">https://docs.docker.com/engine/reference/commandline/swarm/</ref>
| |
| <ref name="swarm-cli-ref">{{cite web | url = https://docs.docker.com/swarm/reference/ | title = Swarm command-line reference | website = Docker Documentation | publisher = Docker, Inc. | access-date = February 28, 2018}}</ref>
| |
| <ref name="docker-node">{{cite web | url = https://docs.docker.com/engine/reference/commandline/node/ | title = docker node | website = Docker Documentation | access-date = February 28, 2018}}</ref>
| |
| <ref name="aquasec">{{cite web | url = https://www.aquasec.com/wiki/display/containers/Docker+Swarm+101 | title = Docker Swarm 101 | website = aquasec.com | access-date = February 28, 2018}}</ref>
| |
| <ref name="raft">{{cite web | url = https://raft.github.io/ | title = Raft Consensus Algorithm | website = raft.github.io | access-date = February 28, 2018}}</ref>
| |
| <ref name="Auto38-4">{{Cite web |title=Au Revoir |url=https://www.docker.com/blog/au-revoir/ |date=28 Mar 2018 |access-date=23 Jan 2021 |archive-url=https://archive.is/gqGWd |archive-date=12 Jan 2021 |website=docker.com |last1=Hykes |first1=Solomon}}</ref>
| |
| <ref name="Auto38-5">{{cite web |title=About the dotCloud Platform |url=https://www.dotcloud.com/about.html |archive-url=https://web.archive.org/web/20140702231323/https://www.dotcloud.com/about.html |url-status=dead |archive-date=2 July 2014 |website=dotCloud |access-date=23 June 2019}}</ref>
| |
| <ref name="Auto38-6">{{Cite news |title=Founders Den: A Private Clubhouse For Entrepreneurs Opens In San Francisco |url=http://techcrunch.com/2011/01/10/founders-den/ |archive-url=https://archive.is/7buW0 |archive-date=29 Mar 2016 |date=10 Jan 2011 |last1=Seigler |first1=MG |work=[[TechCrunch]] |access-date=2 Feb 2021}}</ref>
| |
| <ref name="dotcloud">{{cite web | url = https://www.dotcloud.com/ | title = One home for all your apps | website = dotcloud.com | access-date = May 8, 2014 | url-status = dead | archive-url = https://web.archive.org/web/20140517031011/https://www.dotcloud.com/ | archive-date = May 17, 2014}}</ref>
| |
| <ref name="docker-announcement">{{cite web | title = The future of Linux Containers | url = https://www.youtube.com/watch?v=wW9CAH9nSLs | work = DotCloud Channel | via = [[YouTube]] | access-date = July 13, 2018}}</ref>
| |
| <ref name="infoq-2014-03">{{cite web | last = Swan | first = Chris | date = March 13, 2014 | url = http://www.infoq.com/news/2014/03/docker_0_9 | title = Docker drops LXC as default execution environment | website = InfoQ | access-date = January 20, 2015}}</ref>
| |
| <ref name="moby">https://collabnix.com/demystifying-the-relationship-between-moby-docker/</ref>
| |
| <ref name="techcrunch-2013-09">{{cite web | url = https://techcrunch.com/2013/09/19/dotcloud-pivots-and-wins-big-with-docker-the-cloud-service-now-part-of-red-hat-openshift/ | title = DotCloud Pivots And Wins Big With Docker, The Cloud Service Now Part Of Red Hat OpenShift | website = [[TechCrunch]] | date = September 19, 2013 | access-date = January 20, 2014}}</ref>
| |
| <ref name="docker-windows-server">{{cite web | url = http://www.zdnet.com/docker-container-support-coming-to-microsofts-next-windows-server-release-7000034708/ | title = Docker container support coming to Microsoft's next Windows Server release | date = October 15, 2014 | access-date = October 16, 2014 | first = Mary Jo | last = Foley | author-link= Mary Jo Foley | website = [[ZDNet]]}}</ref>
| |
| <ref name="docker-microsoft">{{cite web | url = https://weblogs.asp.net/scottgu/docker-and-microsoft-integrating-docker-with-windows-server-and-microsoft-azure | title = Docker and Microsoft: Integrating Docker with Windows Server and Microsoft Azure | first = Scott | last = Guthrie | website = ScottGu's Blog | publisher = Microsoft | date = October 15, 2014 | access-date = January 12, 2015}}</ref>
| |
| <ref name="amazon-ec2">{{cite web | first = Jeff | last = Barr | date = November 13, 2014 | url = https://aws.amazon.com/blogs/aws/cloud-container-management/ | title = Amazon EC2 Container Service (ECS) – Container Management for the AWS Cloud | work = Amazon Web Services Blog | access-date = April 29, 2017}}</ref>
| |
| <ref name="stratoscale">{{cite web | url = http://www.datacenterknowledge.com/archives/2014/11/10/stratoscale-raises-32m-supports-docker-containers-openstack/ | title = Stratoscale Raises $32M to Build Docker-Supporting OpenStack Clouds on Commodity Servers | date = November 10, 2014 | access-date = January 3, 2016 | first = John | last = Rath}}</ref>
| |
| <ref name="ibm-partnership">{{cite web | url = https://www-03.ibm.com/press/us/en/pressrelease/45597.wss | title = IBM and Docker Announce Strategic Partnership to Deliver Enterprise Applications in the Cloud and On Prem | date = December 4, 2014 | access-date = April 20, 2015 | publisher = [[IBM]]}}</ref>
| |
| <ref name="common-container-standard">{{cite web | url = https://techcrunch.com/2015/06/22/docker-coreos-google-microsoft-amazon-and-others-agree-to-develop-common-container-standard/#.pvelx1:NDMH | title = Docker, CoreOS, Google, Microsoft, Amazon And Others Come Together To Develop Common Container Standard | date = June 22, 2015 | access-date = August 8, 2015 | first = Frederic | last = Lardinois | website = [[TechCrunch]]}}</ref>
| |
| <ref name="open-container-project">{{cite web | url = http://www.cio-today.com/article/index.php?story_id=112003LU9CSG | title = Docker, Tech Giants Team on Open Container Project | date = June 22, 2015 | access-date = August 8, 2015 | first = Shirley | last = Siluk | website = cio-today.com}}</ref>
| |
| <ref name="InfoWorld-Windocks">{{cite web | url = https://www.infoworld.com/article/3051588/application-virtualization/windocks-does-what-docker-and-microsoft-cant-do.html | title = Windocks does what Docker and Microsoft can't do | date = April 4, 2016 | access-date = October 27, 2018 | first = Serdar | last = Yegulalp | website = [[InfoWorld]]}}</ref>
| |
| <ref name="gist-project-stats">{{cite web | url = https://gist.github.com/icecrime/18d72202f4569a0cab1ee60f7583425f | title = Docker – Updated project statistics | website = [[GitHub#Gist|GitHub Gist]] | access-date = August 22, 2016}}</ref> | |
| <ref name="win10-insider-preview">{{cite web | first = Dona | last = Sarkar | url = https://blogs.windows.com/windowsexperience/2016/06/08/announcing-windows-10-insider-preview-build-14361/ | title = Announcing Windows 10 Insider Preview Build 14361 | website = Windows Blogs | publisher = [[Microsoft]] | date = June 8, 2016 | access-date = June 19, 2016}}</ref>
| |
| <ref name="linkedin-pulse">{{cite web | url = https://www.linkedin.com/pulse/docker-momentum-2016-analysis-michael-mullany | title = Docker Momentum Analysis 2016 | first = Michael | last = Mullany | website = [[LinkedIn Pulse]] | access-date = January 5, 2017}}</ref>
| |
| <ref name="Vaughan-Nichols">{{cite web |last1=Vaughan-Nichols |first1=Steven |title=Docker embraces Windows Subsystem for Linux 2 |url=https://www.zdnet.com/article/docker-embraces-windows-subsystem-for-linux-2/ |website=[[ZDNet]] |publisher=[[CBS Interactive]] |date=June 18, 2019}}</ref>
| |
| <ref name="WSL2-backport">{{Cite web|date=2020-08-20|title=WSL 2 Support is coming to Windows 10 Versions 1903 and 1909|url=https://devblogs.microsoft.com/commandline/wsl-2-support-is-coming-to-windows-10-versions-1903-and-1909/|access-date=2020-08-21|website=Windows Command Line|language=en-US}}</ref>
| |
| <ref name="docker-backport">{{Cite web|date=2020-08-20|title=Docker Desktop & WSL 2 - Backport Update|url=https://www.docker.com/blog/docker-desktop-wsl-2-backport-update/|access-date=2020-08-21|website=Docker Blog|language=en-US}}</ref>
| |
| }}
| |