From 6ad227259c7118118997b39179eaa6796adfc5e8 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 10:24:01 -0700 Subject: [PATCH 01/11] Initial add of docker tutorial --- .../clear-linux/tutorials/docker/docker.rst | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 source/clear-linux/tutorials/docker/docker.rst diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst new file mode 100644 index 00000000..7378c5f9 --- /dev/null +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -0,0 +1,163 @@ +.. _docker: + +Docker* on |CL| +###################################################### + +|CLOSIA| supports many containerization platforms, including Docker*. |CL| has many `unique features`_ including a minimal default installation +which makes it compelling to use as a host for container management, orchestration, and workloads. + + +This tutorial will go over: + +#. Installing the required bundle for Docker +#. Additional Docker* configuration on |CL| +#. Integration with Kata Containers + + + +.. note:: + This tutorial focuses on the installaton of the Docker* ecosystem. + If you want to use |CL| as a Docker* container image, + refer to the official |CL| `DockerHub image`_ and `building a custom Clear Linux docker image`_ . + + +Prerequisites +============= + +* You have a basic understanding of Linux and Docker. + +* You have successfully installed :ref:`Clear Linux on bare metal` + +* Your |CL| installation has transparent network access to the Internet. If you are behind a HTTP proxy server, in a corporate setting for example, please refer to the `Docker* proxy instructions`_ . + + + + + +Installing the required bundle +=============================== + +Software in Clear Linux is offered in the form of `bundles`_ to provide a complete function. +The *containers-basic* provides all the required software packages to run Docker images as containers. + +#. Install the *containers-basic* bundle by running this :command:`swupd` command: + + .. code-block:: bash + + sudo swupd bundle-add containers-basic + + +#. Start the Docker* daemon through systemd manager by running this command: + + .. code-block:: bash + + sudo systemctl start docker + + + If you want Docker* to start automatically on boot, enable the systemd service by running this command: + + .. code-block:: bash + + sudo systemctl enable docker + + +#. Verify :command:`docker` has been installed by running this command and checking the version output for both *client* and *server*: + + .. code-block:: bash + + sudo docker version + + +Congratulations! At this point, you have a working installation of Docker* on |CL| and are ready to start using container images on your system. + +.. note:: + The proceeding sections of this tutorial are standard to Docker* setup and configuration. + If you are familiar with Docker basics, you do not need to continue reading. The following sections are provided here for sake of completeness. + + + + +Additional Docker configuration +=============================== + +Additional Docker* daemon configuration done can be via a configuration file typically located at :file:`/etc/docker/daemon.json` . +|CL| features a `stateless system`_ so the configuration file :file:`daemon.json` will *NOT* exist by default. + + +Create the :file:`daemon.json` by running this command: + .. code-block:: bash + + touch /etc/docker/daemon.json + +Refer to the `Docker daemon configuration documentation`_ for the full list of available configuration options and examples. + +Once you've made any required changes, be sure to restart the Docker* daemon through systemd manager by running this command: + + .. code-block:: bash + + sudo systemctl restart docker + + + +Example run of a container +========================== + + + + + + + + +Integration with Kata Containers +================================ +`Kata Containers`_, formerly known and Intel Clear Containers, is an open source project aiming to increase security of containers by using lightweight virtual machine technology. +You can take advantage of Kata Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: + + .. code-block:: bash + + sudo swupd bundle-add containers-virt + +Restart the Docker* daemon through systemd manager by running this command: + + .. code-block:: bash + + sudo systemctl restart docker + +After restarting, the Docker daemon will seamlessly use katacontainers to launch containers. The default runtime for Docker containers is *runc*. +You can see the runtime has changed to :command:`cc-runtime` by running this command: + + .. code-block:: bash + + sudo docker info | grep Runtime + +You should see the following output: + + .. code-block:: bash + + Runtimes: cc-runtime runc + Default Runtime: cc-runtime + + + +Also see: +========= +* `Docker Home`_ +* `Docker Documentation`_ +* `DockerHub`_ +* `Kata Containers`_ + + + + +.. _`unique features`: https://clearlinux.org/features +.. _`DockerHub image`: https://hub.docker.com/_/clearlinux/ +.. _`building a custom Clear Linux docker image`: https://clearlinux.org/documentation/clear-linux/guides/network/custom-clear-container +.. _`Docker proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy +.. _`bundles`: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts +.. _`stateless system`: https://clearlinux.org/features/stateless +.. _`Docker daemon configuration documentation`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file +.. _`Kata Containers`: https://katacontainers.io/ +.. _`Docker Home`: https://www.docker.com/ +.. _`Docker Documentation`: https://docs.docker.com/ +.. _`DockerHub`: https://hub.docker.com/ \ No newline at end of file From 0475eb046f1e58ca305337c7f059afc80e4add9d Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 13:30:16 -0700 Subject: [PATCH 02/11] Add content for running an example image --- .../clear-linux/tutorials/docker/docker.rst | 53 ++++++++++++++++--- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index 7378c5f9..2312f240 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -11,6 +11,7 @@ This tutorial will go over: #. Installing the required bundle for Docker #. Additional Docker* configuration on |CL| +#. Pulling and Running an image from Docker* Hub #. Integration with Kata Containers @@ -40,7 +41,7 @@ Installing the required bundle Software in Clear Linux is offered in the form of `bundles`_ to provide a complete function. The *containers-basic* provides all the required software packages to run Docker images as containers. -#. Install the *containers-basic* bundle by running this :command:`swupd` command: +#. First, install the *containers-basic* bundle by running this :command:`swupd` command: .. code-block:: bash @@ -54,14 +55,14 @@ The *containers-basic* provides all the required software packages to run Docker sudo systemctl start docker - If you want Docker* to start automatically on boot, enable the systemd service by running this command: + If you want Docker* to start automatically on boot, also enable the systemd service by running this command: .. code-block:: bash sudo systemctl enable docker -#. Verify :command:`docker` has been installed by running this command and checking the version output for both *client* and *server*: +#. Finally, verify :command:`docker` has been installed by running this command and checking the version output for both *client* and *server*: .. code-block:: bash @@ -84,14 +85,15 @@ Additional Docker* daemon configuration done can be via a configuration file typ |CL| features a `stateless system`_ so the configuration file :file:`daemon.json` will *NOT* exist by default. -Create the :file:`daemon.json` by running this command: +#. Create the :file:`daemon.json` by running this command: + .. code-block:: bash touch /etc/docker/daemon.json Refer to the `Docker daemon configuration documentation`_ for the full list of available configuration options and examples. -Once you've made any required changes, be sure to restart the Docker* daemon through systemd manager by running this command: +#. Once you've made any required changes, be sure to restart the Docker* daemon through systemd manager by running this command: .. code-block:: bash @@ -99,19 +101,52 @@ Once you've made any required changes, be sure to restart the Docker* daemon thr -Example run of a container +Pulling and Running an image from Docker* Hub ========================== +#. First, Pull a container image from DockerHub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command: + + .. code-block:: bash + + sudo docker pull nginx + +#. Create and launch a new container using the :command:`docker run` command. Launch a nginx container by running this command: + + .. code-block:: bash + + sudo docker run --name test-nginx -d -p 8080:80 nginx + + .. note:: + + Below is an explaination of switches used in the command above. For detailed :command:`docker run` switches and syntax, refer to the `Docker Documentation`_ . + + The :option:`--name` switch lets you provide a friendly name to target the container for future operations + + The :option:`-d` switch launches the container in the background + + The :option:`-p` switch allows the container's HTTP port (80) to be accessible from the Clear Linux host on port 8080 +#. You can access the Welcome to Nginx! splash page running in the container by browsing to http://127.0.0.1:8080 or by running this :command:`curl` command from your Clear Linux machine: + + .. code-block:: bash + + curl 127.0.0.1:8080 +# Finally, stop and delete the nginx container by running the :command:`docker stop` and :command:`docker rm` commands. + .. code-block:: bash + + sudo docker stop test-nginx + sudo docker rm test-nginx + +Congratulations! At this point, you have successfully pulled a nginx container image from `DockerHub`_ and ran an example container. Integration with Kata Containers ================================ -`Kata Containers`_, formerly known and Intel Clear Containers, is an open source project aiming to increase security of containers by using lightweight virtual machine technology. +`Kata Containers`_, formerly known as Intel Clear Containers, is an open source project aiming to increase security of containers by using lightweight virtual machine technology. You can take advantage of Kata Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: .. code-block:: bash @@ -131,13 +166,15 @@ You can see the runtime has changed to :command:`cc-runtime` by running this com sudo docker info | grep Runtime -You should see the following output: +You should see the following output indicating the *cc-runtime* is the Default Runtime: .. code-block:: bash Runtimes: cc-runtime runc Default Runtime: cc-runtime +Congratulations! At this point, you have successfully replaced the default container runtime with Kata. +You can repeat the steps from :ref:`Pulling and Running an image from Docker* Hub` without changing anything special. Also see: From 11d1b948cc560e337bd99b372f36439868628e44 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 13:57:42 -0700 Subject: [PATCH 03/11] Refactor and formatting Moved kata containers section above the other optional sections to improve reader flow. --- .../clear-linux/tutorials/docker/docker.rst | 122 +++++++++++------- 1 file changed, 75 insertions(+), 47 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index 2312f240..32b1b4d0 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -3,16 +3,18 @@ Docker* on |CL| ###################################################### -|CLOSIA| supports many containerization platforms, including Docker*. |CL| has many `unique features`_ including a minimal default installation +|CLOSIA| supports many containerization platforms, including Docker*. +|CL| has many `unique features`_ including a minimal default installation which makes it compelling to use as a host for container management, orchestration, and workloads. This tutorial will go over: #. Installing the required bundle for Docker +#. Integration with Kata Containers (optional) #. Additional Docker* configuration on |CL| #. Pulling and Running an image from Docker* Hub -#. Integration with Kata Containers + @@ -27,18 +29,23 @@ Prerequisites * You have a basic understanding of Linux and Docker. -* You have successfully installed :ref:`Clear Linux on bare metal` - -* Your |CL| installation has transparent network access to the Internet. If you are behind a HTTP proxy server, in a corporate setting for example, please refer to the `Docker* proxy instructions`_ . - +* You have successfully installed + :ref:`Clear Linux on bare metal` +* Your |CL| installation has transparent network access to the Internet. + If you are behind a HTTP proxy server, in a corporate setting for example, + please refer to the `Docker* proxy instructions`_ . + | + | + | Installing the required bundle =============================== -Software in Clear Linux is offered in the form of `bundles`_ to provide a complete function. +Software in Clear Linux is offered in the form +of `bundles`_ to provide a complete function. The *containers-basic* provides all the required software packages to run Docker images as containers. #. First, install the *containers-basic* bundle by running this :command:`swupd` command: @@ -62,7 +69,8 @@ The *containers-basic* provides all the required software packages to run Docker sudo systemctl enable docker -#. Finally, verify :command:`docker` has been installed by running this command and checking the version output for both *client* and *server*: +#. Finally, verify :command:`docker` has been installed by running this + command and checking the version output for both *client* and *server*: .. code-block:: bash @@ -71,13 +79,53 @@ The *containers-basic* provides all the required software packages to run Docker Congratulations! At this point, you have a working installation of Docker* on |CL| and are ready to start using container images on your system. + | + | + | + + +Integration with Kata Containers (optional) +================================ +`Kata Containers`_, formerly known as Intel Clear Containers, is an open source project aiming to increase security of containers by using lightweight virtual machine technology. +The Docker* package from |CL| will automatically use the runtime required for Kata Containers if it is available on your Clear Linux system. + +#. You can take advantage of Kata Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: + + .. code-block:: bash + + sudo swupd bundle-add containers-virt + +#. Restart the Docker* daemon through systemd manager by running this command: + + .. code-block:: bash + + sudo systemctl restart docker + +#. After restarting, the Docker* daemon will seamlessly use katacontainers to launch containers. The default runtime for Docker containers is *runc*. You can see the runtime has changed to :command:`cc-runtime` by running this command: + + .. code-block:: bash + + sudo docker info | grep Runtime + +#. You should see the following output indicating the *cc-runtime* is the Default Runtime: + + .. code-block:: bash + + Runtimes: cc-runtime runc + Default Runtime: cc-runtime + +Congratulations! At this point, you have successfully replaced the default container runtime with Kata. + +| +| +| + .. note:: The proceeding sections of this tutorial are standard to Docker* setup and configuration. If you are familiar with Docker basics, you do not need to continue reading. The following sections are provided here for sake of completeness. - Additional Docker configuration =============================== @@ -91,7 +139,7 @@ Additional Docker* daemon configuration done can be via a configuration file typ touch /etc/docker/daemon.json -Refer to the `Docker daemon configuration documentation`_ for the full list of available configuration options and examples. + Refer to the `Docker* daemon configuration documentation`_ for the full list of available configuration options and examples. #. Once you've made any required changes, be sure to restart the Docker* daemon through systemd manager by running this command: @@ -100,6 +148,10 @@ Refer to the `Docker daemon configuration documentation`_ for the full list of a sudo systemctl restart docker + | + | + | + Pulling and Running an image from Docker* Hub ========================== @@ -111,6 +163,7 @@ Pulling and Running an image from Docker* Hub sudo docker pull nginx + #. Create and launch a new container using the :command:`docker run` command. Launch a nginx container by running this command: .. code-block:: bash @@ -119,7 +172,7 @@ Pulling and Running an image from Docker* Hub .. note:: - Below is an explaination of switches used in the command above. For detailed :command:`docker run` switches and syntax, refer to the `Docker Documentation`_ . + Below is an explaination of switches used in the command above. For detailed :command:`docker run` switches and syntax, refer to the `Docker* Documentation`_ . The :option:`--name` switch lets you provide a friendly name to target the container for future operations @@ -135,52 +188,27 @@ Pulling and Running an image from Docker* Hub curl 127.0.0.1:8080 -# Finally, stop and delete the nginx container by running the :command:`docker stop` and :command:`docker rm` commands. +#. Finally, stop and delete the nginx container by running the :command:`docker stop` and :command:`docker rm` commands. .. code-block:: bash sudo docker stop test-nginx sudo docker rm test-nginx + Congratulations! At this point, you have successfully pulled a nginx container image from `DockerHub`_ and ran an example container. + + | + | + | -Integration with Kata Containers -================================ -`Kata Containers`_, formerly known as Intel Clear Containers, is an open source project aiming to increase security of containers by using lightweight virtual machine technology. -You can take advantage of Kata Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: - .. code-block:: bash - - sudo swupd bundle-add containers-virt - -Restart the Docker* daemon through systemd manager by running this command: - - .. code-block:: bash - - sudo systemctl restart docker - -After restarting, the Docker daemon will seamlessly use katacontainers to launch containers. The default runtime for Docker containers is *runc*. -You can see the runtime has changed to :command:`cc-runtime` by running this command: - - .. code-block:: bash - - sudo docker info | grep Runtime - -You should see the following output indicating the *cc-runtime* is the Default Runtime: - - .. code-block:: bash - - Runtimes: cc-runtime runc - Default Runtime: cc-runtime - -Congratulations! At this point, you have successfully replaced the default container runtime with Kata. -You can repeat the steps from :ref:`Pulling and Running an image from Docker* Hub` without changing anything special. Also see: ========= -* `Docker Home`_ -* `Docker Documentation`_ +* `Docker* Home`_ +* `Docker* Documentation`_ * `DockerHub`_ * `Kata Containers`_ @@ -190,11 +218,11 @@ Also see: .. _`unique features`: https://clearlinux.org/features .. _`DockerHub image`: https://hub.docker.com/_/clearlinux/ .. _`building a custom Clear Linux docker image`: https://clearlinux.org/documentation/clear-linux/guides/network/custom-clear-container -.. _`Docker proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy +.. _`Docker* proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy .. _`bundles`: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts .. _`stateless system`: https://clearlinux.org/features/stateless .. _`Docker daemon configuration documentation`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file .. _`Kata Containers`: https://katacontainers.io/ -.. _`Docker Home`: https://www.docker.com/ -.. _`Docker Documentation`: https://docs.docker.com/ +.. _`Docker* Home`: https://www.docker.com/ +.. _`Docker* Documentation`: https://docs.docker.com/ .. _`DockerHub`: https://hub.docker.com/ \ No newline at end of file From 5d61a12854f9e3a9a82609f92667f8f96e20c20d Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 14:17:08 -0700 Subject: [PATCH 04/11] more RST formatting and syntax --- .../clear-linux/tutorials/docker/docker.rst | 57 ++++++++++++------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index 32b1b4d0..8e7ee246 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -5,7 +5,7 @@ Docker* on |CL| |CLOSIA| supports many containerization platforms, including Docker*. |CL| has many `unique features`_ including a minimal default installation -which makes it compelling to use as a host for container management, orchestration, and workloads. +which makes it compelling to use as a host for container workloads, management, and orchestration. This tutorial will go over: @@ -21,7 +21,7 @@ This tutorial will go over: .. note:: This tutorial focuses on the installaton of the Docker* ecosystem. If you want to use |CL| as a Docker* container image, - refer to the official |CL| `DockerHub image`_ and `building a custom Clear Linux docker image`_ . + refer to the official `|CL| image on Docker* Hub`_ and `building a custom Clear Linux docker image`_ . Prerequisites @@ -85,8 +85,12 @@ Congratulations! At this point, you have a working installation of Docker* on |C Integration with Kata Containers (optional) -================================ -`Kata Containers`_, formerly known as Intel Clear Containers, is an open source project aiming to increase security of containers by using lightweight virtual machine technology. +=========================================== + +`Kata Containers`_, +formerly known as Intel Clear Containers, is an open source +project aiming to increase security of containers by using lightweight virtual machine technology. + The Docker* package from |CL| will automatically use the runtime required for Kata Containers if it is available on your Clear Linux system. #. You can take advantage of Kata Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: @@ -101,13 +105,18 @@ The Docker* package from |CL| will automatically use the runtime required for Ka sudo systemctl restart docker -#. After restarting, the Docker* daemon will seamlessly use katacontainers to launch containers. The default runtime for Docker containers is *runc*. You can see the runtime has changed to :command:`cc-runtime` by running this command: +#. After restarting, the Docker* daemon + will seamlessly use katacontainers to launch containers. + The default runtime for Docker containers is *runc*. + You can see the runtime has changed to :command:`cc-runtime` + by running this command: .. code-block:: bash sudo docker info | grep Runtime -#. You should see the following output indicating the *cc-runtime* is the Default Runtime: +#. You should see the following output + indicating the *cc-runtime* is the Default Runtime: .. code-block:: bash @@ -129,7 +138,8 @@ Congratulations! At this point, you have successfully replaced the default conta Additional Docker configuration =============================== -Additional Docker* daemon configuration done can be via a configuration file typically located at :file:`/etc/docker/daemon.json` . +Additional Docker* daemon configuration done can be via a +configuration file typically located at :file:`/etc/docker/daemon.json` . |CL| features a `stateless system`_ so the configuration file :file:`daemon.json` will *NOT* exist by default. @@ -139,9 +149,11 @@ Additional Docker* daemon configuration done can be via a configuration file typ touch /etc/docker/daemon.json - Refer to the `Docker* daemon configuration documentation`_ for the full list of available configuration options and examples. + Refer to the `Docker* daemon configuration documentation`_ for the + full list of available configuration options and examples. -#. Once you've made any required changes, be sure to restart the Docker* daemon through systemd manager by running this command: +#. Once you've made any required changes, be sure to restart the + Docker* daemon through systemd manager by running this command: .. code-block:: bash @@ -154,17 +166,17 @@ Additional Docker* daemon configuration done can be via a configuration file typ Pulling and Running an image from Docker* Hub -========================== +============================================= - -#. First, Pull a container image from DockerHub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command: +#. First, Pull a container image from Docker* Hub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command: .. code-block:: bash sudo docker pull nginx -#. Create and launch a new container using the :command:`docker run` command. Launch a nginx container by running this command: +#. Create and launch a new container using the :command:`docker run` command. + Launch a nginx container by running this command: .. code-block:: bash @@ -174,11 +186,11 @@ Pulling and Running an image from Docker* Hub Below is an explaination of switches used in the command above. For detailed :command:`docker run` switches and syntax, refer to the `Docker* Documentation`_ . - The :option:`--name` switch lets you provide a friendly name to target the container for future operations + * The :option:`--name` switch lets you provide a friendly name to target the container for future operations - The :option:`-d` switch launches the container in the background + * The :option:`-d` switch launches the container in the background - The :option:`-p` switch allows the container's HTTP port (80) to be accessible from the Clear Linux host on port 8080 + * The :option:`-p` switch allows the container's HTTP port (80) to be accessible from the Clear Linux host on port 8080 #. You can access the Welcome to Nginx! splash page running in the container by browsing to http://127.0.0.1:8080 or by running this :command:`curl` command from your Clear Linux machine: @@ -188,7 +200,8 @@ Pulling and Running an image from Docker* Hub curl 127.0.0.1:8080 -#. Finally, stop and delete the nginx container by running the :command:`docker stop` and :command:`docker rm` commands. +#. Finally, stop and delete the nginx container by running the + :command:`docker stop` and :command:`docker rm` commands. .. code-block:: bash @@ -196,7 +209,7 @@ Pulling and Running an image from Docker* Hub sudo docker rm test-nginx -Congratulations! At this point, you have successfully pulled a nginx container image from `DockerHub`_ and ran an example container. +Congratulations! At this point, you have successfully pulled a nginx container image from `Docker* Hub`_ and ran an example container. | | @@ -209,20 +222,20 @@ Also see: ========= * `Docker* Home`_ * `Docker* Documentation`_ -* `DockerHub`_ +* `Docker* Hub`_ * `Kata Containers`_ .. _`unique features`: https://clearlinux.org/features -.. _`DockerHub image`: https://hub.docker.com/_/clearlinux/ +.. _`|CL| image on Docker* Hub`: https://hub.docker.com/_/clearlinux/ .. _`building a custom Clear Linux docker image`: https://clearlinux.org/documentation/clear-linux/guides/network/custom-clear-container .. _`Docker* proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy .. _`bundles`: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts .. _`stateless system`: https://clearlinux.org/features/stateless -.. _`Docker daemon configuration documentation`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file +.. _`Docker* daemon configuration documentation`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file .. _`Kata Containers`: https://katacontainers.io/ .. _`Docker* Home`: https://www.docker.com/ .. _`Docker* Documentation`: https://docs.docker.com/ -.. _`DockerHub`: https://hub.docker.com/ \ No newline at end of file +.. _`Docker* Hub`: https://hub.docker.com/ \ No newline at end of file From 2ea34e21da2d0ba349edd9e6a5b7f712f4f8f66a Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 14:33:34 -0700 Subject: [PATCH 05/11] minor language edits --- source/clear-linux/tutorials/docker/docker.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index 8e7ee246..dd6d95ed 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -3,7 +3,7 @@ Docker* on |CL| ###################################################### -|CLOSIA| supports many containerization platforms, including Docker*. +|CLOSIA| supports multiple containerization platforms, including Docker*. |CL| has many `unique features`_ including a minimal default installation which makes it compelling to use as a host for container workloads, management, and orchestration. @@ -149,7 +149,7 @@ configuration file typically located at :file:`/etc/docker/daemon.json` . touch /etc/docker/daemon.json - Refer to the `Docker* daemon configuration documentation`_ for the + Refer to the `Docker* documentation on daemon configuration `_ for the full list of available configuration options and examples. #. Once you've made any required changes, be sure to restart the @@ -234,7 +234,7 @@ Also see: .. _`Docker* proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy .. _`bundles`: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts .. _`stateless system`: https://clearlinux.org/features/stateless -.. _`Docker* daemon configuration documentation`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file +.. _`Docker* documentation on daemon configuration`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file .. _`Kata Containers`: https://katacontainers.io/ .. _`Docker* Home`: https://www.docker.com/ .. _`Docker* Documentation`: https://docs.docker.com/ From f9b7daac80e6e5f616b639cc05ae1ddba9219dd1 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 15:31:00 -0700 Subject: [PATCH 06/11] Rename Kata reference to Clear Containers --- .../clear-linux/tutorials/docker/docker.rst | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index dd6d95ed..e7a63f4f 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -11,7 +11,7 @@ which makes it compelling to use as a host for container workloads, management, This tutorial will go over: #. Installing the required bundle for Docker -#. Integration with Kata Containers (optional) +#. Integration with Clear Containers (optional) #. Additional Docker* configuration on |CL| #. Pulling and Running an image from Docker* Hub @@ -84,16 +84,19 @@ Congratulations! At this point, you have a working installation of Docker* on |C | -Integration with Kata Containers (optional) -=========================================== +Integration with Clear Containers (optional) +============================================ -`Kata Containers`_, -formerly known as Intel Clear Containers, is an open source -project aiming to increase security of containers by using lightweight virtual machine technology. +`Clear Containers`_, +is an open source project +aiming to increase security of containers by using a +hardware-backed virtual machine container runtime, +instead of software namespace containers +that are provided by the standard Docker *runc* runtime. -The Docker* package from |CL| will automatically use the runtime required for Kata Containers if it is available on your Clear Linux system. +The Docker* package from |CL| will automatically use the *cc-runtime* required for Clear Containers if it is available on your Clear Linux system. -#. You can take advantage of Kata Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: +#. You can take advantage of Clear Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: .. code-block:: bash @@ -106,8 +109,7 @@ The Docker* package from |CL| will automatically use the runtime required for Ka sudo systemctl restart docker #. After restarting, the Docker* daemon - will seamlessly use katacontainers to launch containers. - The default runtime for Docker containers is *runc*. + will seamlessly use Clear Containers to launch containers. You can see the runtime has changed to :command:`cc-runtime` by running this command: @@ -123,7 +125,7 @@ The Docker* package from |CL| will automatically use the runtime required for Ka Runtimes: cc-runtime runc Default Runtime: cc-runtime -Congratulations! At this point, you have successfully replaced the default container runtime with Kata. +Congratulations! At this point, you have successfully replaced the default container runtime with Clear Containers. | | @@ -167,6 +169,9 @@ configuration file typically located at :file:`/etc/docker/daemon.json` . Pulling and Running an image from Docker* Hub ============================================= +`Docker Hub`_ is a publically available container image repository which comes preconfigured with Docker*. +In the example below we will pull and run nginx, an open source reverse proxy server. + #. First, Pull a container image from Docker* Hub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command: @@ -223,7 +228,7 @@ Also see: * `Docker* Home`_ * `Docker* Documentation`_ * `Docker* Hub`_ -* `Kata Containers`_ +* `Clear Containers`_ @@ -235,7 +240,8 @@ Also see: .. _`bundles`: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts .. _`stateless system`: https://clearlinux.org/features/stateless .. _`Docker* documentation on daemon configuration`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file -.. _`Kata Containers`: https://katacontainers.io/ +.. _`Clear Containers`: https://github.com/clearcontainers .. _`Docker* Home`: https://www.docker.com/ .. _`Docker* Documentation`: https://docs.docker.com/ -.. _`Docker* Hub`: https://hub.docker.com/ \ No newline at end of file +.. _`Docker* Hub`: https://hub.docker.com/ + From ee85257df2ceb51c5805eee4110789e66852a3c4 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 15:36:50 -0700 Subject: [PATCH 07/11] minor syntax bugs --- source/clear-linux/tutorials/docker/docker.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index e7a63f4f..ba1974ff 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -151,7 +151,7 @@ configuration file typically located at :file:`/etc/docker/daemon.json` . touch /etc/docker/daemon.json - Refer to the `Docker* documentation on daemon configuration `_ for the + Refer to the `Docker* documentation on daemon configuration`_ for the full list of available configuration options and examples. #. Once you've made any required changes, be sure to restart the @@ -169,7 +169,8 @@ configuration file typically located at :file:`/etc/docker/daemon.json` . Pulling and Running an image from Docker* Hub ============================================= -`Docker Hub`_ is a publically available container image repository which comes preconfigured with Docker*. +`Docker* Hub`_ is a publically available container image repository +which comes preconfigured with Docker*. In the example below we will pull and run nginx, an open source reverse proxy server. From 88472e1771a1f7e59a66be2f50b2e49b739b9c83 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 15:43:55 -0700 Subject: [PATCH 08/11] minor clarification of nginx Docker image --- source/clear-linux/tutorials/docker/docker.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index ba1974ff..6de14a49 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -171,7 +171,7 @@ Pulling and Running an image from Docker* Hub ============================================= `Docker* Hub`_ is a publically available container image repository which comes preconfigured with Docker*. -In the example below we will pull and run nginx, an open source reverse proxy server. +In the example below we will pull and run an the official Docker image for nginx, an open source reverse proxy server. #. First, Pull a container image from Docker* Hub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command: From be1fb1a2b5eb75d349591651e0bd2175e4a69385 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 16:04:47 -0700 Subject: [PATCH 09/11] Add section on Docker swarm --- source/clear-linux/tutorials/docker/docker.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index 6de14a49..d9dce909 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -221,7 +221,16 @@ Congratulations! At this point, you have successfully pulled a nginx container i | | +Creating a Docker* swarm cluster +========================================= +Clusters of Docker* hosts are referred to as swarms. +The process in this tutorial can be repeated to install Docker* +on multiple Clear Linux hosts with the intent to form a Docker* swarm cluster. + +The `Docker* documentation on swarm key concepts`_ and +`Docker* documentation on creating a swarm`_ can be referenced +for further instructions on setting up a swarm. Also see: @@ -245,4 +254,6 @@ Also see: .. _`Docker* Home`: https://www.docker.com/ .. _`Docker* Documentation`: https://docs.docker.com/ .. _`Docker* Hub`: https://hub.docker.com/ +.. _`Docker* documentation on swarm key concepts`: https://docs.docker.com/engine/swarm/key-concepts/ +.. _`Docker* documentation on creating a swarm`: https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/ From 14c47506fcafc08d979f7f5d88fe95c9d98997a7 Mon Sep 17 00:00:00 2001 From: puneetse <22071208+puneetse@users.noreply.github.com> Date: Wed, 20 Jun 2018 16:06:41 -0700 Subject: [PATCH 10/11] Update ToC --- source/clear-linux/tutorials/docker/docker.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index d9dce909..3527bba5 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -14,6 +14,7 @@ This tutorial will go over: #. Integration with Clear Containers (optional) #. Additional Docker* configuration on |CL| #. Pulling and Running an image from Docker* Hub +#. Creating a Docker* swarm cluster @@ -222,7 +223,7 @@ Congratulations! At this point, you have successfully pulled a nginx container i | Creating a Docker* swarm cluster -========================================= +================================ Clusters of Docker* hosts are referred to as swarms. The process in this tutorial can be repeated to install Docker* From 53ad59e18d4242c8eb8af0d0ba111eb363e2f3bb Mon Sep 17 00:00:00 2001 From: Michael Vincerra Date: Thu, 21 Jun 2018 13:22:13 -0700 Subject: [PATCH 11/11] Corrects syntax, adds internal TOC, and adds link to tutorials.rst Signed-off-by: Michael Vincerra --- .../clear-linux/tutorials/docker/docker.rst | 299 ++++++++---------- source/clear-linux/tutorials/tutorials.rst | 1 + 2 files changed, 137 insertions(+), 163 deletions(-) diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index 3527bba5..75c00e35 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -1,260 +1,233 @@ .. _docker: -Docker* on |CL| -###################################################### - -|CLOSIA| supports multiple containerization platforms, including Docker*. -|CL| has many `unique features`_ including a minimal default installation -which makes it compelling to use as a host for container workloads, management, and orchestration. - - -This tutorial will go over: - -#. Installing the required bundle for Docker -#. Integration with Clear Containers (optional) -#. Additional Docker* configuration on |CL| -#. Pulling and Running an image from Docker* Hub -#. Creating a Docker* swarm cluster +Run Docker\* on Clear Linux\* +############################# +|CLOSIA| supports multiple containerization platforms, including a Docker\* +solution.|CL| has many `unique features`_ including a minimal default +installation which makes it compelling to use as a host for container +workloads, management, and orchestration. +This tutorial covers: +.. contents:: :local: + :depth: 1 .. note:: - This tutorial focuses on the installaton of the Docker* ecosystem. - If you want to use |CL| as a Docker* container image, - refer to the official `|CL| image on Docker* Hub`_ and `building a custom Clear Linux docker image`_ . - + + This tutorial focuses on the installaton of the Docker ecosystem. + If you want to use |CL| as a Docker container image, refer to the + official `Clear Linux image on Docker Hub`_ + and `building a custom Clear Linux docker image`_ . Prerequisites -============= +************* -* You have a basic understanding of Linux and Docker. +* Basic understanding of Linux and Docker. -* You have successfully installed - :ref:`Clear Linux on bare metal` +* Successful completion: :ref:`bare-metal-install` -* Your |CL| installation has transparent network access to the Internet. +* |CL| environment that has transparent network access to the Internet. If you are behind a HTTP proxy server, in a corporate setting for example, - please refer to the `Docker* proxy instructions`_ . + please refer to the `Docker proxy instructions`_ . - | - | - | +Install the containers-basic bundle +*********************************** +Software in |CL| is offered in the form of `bundles`_ to provide a +complete function. The *containers-basic* provides all the required software +packages to run Docker images as containers. -Installing the required bundle -=============================== +#. First, install the *containers-basic* bundle by running this + :command:`swupd` command: -Software in Clear Linux is offered in the form -of `bundles`_ to provide a complete function. -The *containers-basic* provides all the required software packages to run Docker images as containers. + .. code-block:: bash -#. First, install the *containers-basic* bundle by running this :command:`swupd` command: + sudo swupd bundle-add containers-basic - .. code-block:: bash +#. Start the Docker daemon through systemd manager by running this command: - sudo swupd bundle-add containers-basic + .. code-block:: bash + sudo systemctl start docker -#. Start the Docker* daemon through systemd manager by running this command: + If you want Docker to start automatically on boot, enable the + systemd service by running this command: - .. code-block:: bash - - sudo systemctl start docker - - - If you want Docker* to start automatically on boot, also enable the systemd service by running this command: - - .. code-block:: bash - - sudo systemctl enable docker + .. code-block:: bash + sudo systemctl enable docker #. Finally, verify :command:`docker` has been installed by running this - command and checking the version output for both *client* and *server*: + command and checking the version output for both *client* and *server*: - .. code-block:: bash + .. code-block:: bash - sudo docker version - - -Congratulations! At this point, you have a working installation of Docker* on |CL| and are ready to start using container images on your system. - - | - | - | + sudo docker version +Congratulations! At this point, you have a working installation of Docker +on |CL|. You are ready to start using container images on your system. Integration with Clear Containers (optional) -============================================ +******************************************** -`Clear Containers`_, -is an open source project -aiming to increase security of containers by using a -hardware-backed virtual machine container runtime, -instead of software namespace containers -that are provided by the standard Docker *runc* runtime. +`Clear Containers`_, is an open source project aiming to increase security +of containers by using a hardware-backed virtual machine container runtime, +instead of software namespace containers that are provided by the standard +Docker *runc* runtime. -The Docker* package from |CL| will automatically use the *cc-runtime* required for Clear Containers if it is available on your Clear Linux system. +The Docker package from |CL| will automatically use the *cc-runtime* +required for Clear Containers if it is available on your Clear Linux system. -#. You can take advantage of Clear Containers in |CL| by simply installing the *containers-virt* bundle by running the command below: +#. To take advantage of Clear Containers in |CL|, install the + *containers-virt* bundle by running this command: - .. code-block:: bash + .. code-block:: bash - sudo swupd bundle-add containers-virt + sudo swupd bundle-add containers-virt -#. Restart the Docker* daemon through systemd manager by running this command: +#. Restart the Docker daemon through systemd manager by running this command: - .. code-block:: bash + .. code-block:: bash - sudo systemctl restart docker + sudo systemctl restart docker -#. After restarting, the Docker* daemon - will seamlessly use Clear Containers to launch containers. - You can see the runtime has changed to :command:`cc-runtime` - by running this command: +#. After restarting, the Docker daemon will seamlessly use Clear Containers + to launch containers. You can see the runtime has changed to + :command:`cc-runtime` by running this command: - .. code-block:: bash + .. code-block:: bash - sudo docker info | grep Runtime + sudo docker info | grep Runtime -#. You should see the following output - indicating the *cc-runtime* is the Default Runtime: +#. You should see the following output indicating the *cc-runtime* is the + Default Runtime: - .. code-block:: bash + .. code-block:: console - Runtimes: cc-runtime runc - Default Runtime: cc-runtime + Runtimes: cc-runtime runc + Default Runtime: cc-runtime -Congratulations! At this point, you have successfully replaced the default container runtime with Clear Containers. - -| -| -| +Congratulations! At this point, you have successfully replaced the default +container runtime with Clear Containers. .. note:: - The proceeding sections of this tutorial are standard to Docker* setup and configuration. - If you are familiar with Docker basics, you do not need to continue reading. The following sections are provided here for sake of completeness. - + The proceeding sections of this tutorial are standard to Docker setup + and configuration. If you are familiar with Docker basics, you do not + need to continue reading. The following sections are provided here for + sake of completeness. Additional Docker configuration -=============================== - -Additional Docker* daemon configuration done can be via a -configuration file typically located at :file:`/etc/docker/daemon.json` . -|CL| features a `stateless system`_ so the configuration file :file:`daemon.json` will *NOT* exist by default. +******************************* +Perform additional Docker daemon configuration via a configuration file +typically located at :file:`/etc/docker/daemon.json`. |CL| features a +`stateless system`_ so the configuration file :file:`daemon.json` does *NOT* +exist by default. #. Create the :file:`daemon.json` by running this command: - .. code-block:: bash + .. code-block:: bash - touch /etc/docker/daemon.json + touch /etc/docker/daemon.json - Refer to the `Docker* documentation on daemon configuration`_ for the - full list of available configuration options and examples. + .. note:: + + Refer to the `Docker documentation on daemon configuration`_ for the + full list of available configuration options and examples. #. Once you've made any required changes, be sure to restart the - Docker* daemon through systemd manager by running this command: + Docker daemon through systemd manager by running this command: - .. code-block:: bash + .. code-block:: bash - sudo systemctl restart docker + sudo systemctl restart docker +Pulling and Running an image from Docker Hub +******************************************** - | - | - | +`Docker Hub`_ is a publically available container image repository which +comes preconfigured with Docker. In the example below we will pull and run +an the official Docker image for nginx, an open source reverse proxy server. +#. First, pull a container image from Docker Hub using the + :command:`docker pull` command. Download the latest nginx Docker + container image by running this command: -Pulling and Running an image from Docker* Hub -============================================= -`Docker* Hub`_ is a publically available container image repository -which comes preconfigured with Docker*. -In the example below we will pull and run an the official Docker image for nginx, an open source reverse proxy server. + .. code-block:: bash + sudo docker pull nginx -#. First, Pull a container image from Docker* Hub using the :command:`docker pull` command. Download the latest nginx Docker container image by running this command: +#. Create and launch a new container using the :command:`docker run` + command. Launch a nginx container by running this command: - .. code-block:: bash + .. code-block:: bash - sudo docker pull nginx + sudo docker run --name test-nginx -d -p 8080:80 nginx - -#. Create and launch a new container using the :command:`docker run` command. - Launch a nginx container by running this command: - - .. code-block:: bash - - sudo docker run --name test-nginx -d -p 8080:80 nginx - - .. note:: + .. note:: - Below is an explaination of switches used in the command above. For detailed :command:`docker run` switches and syntax, refer to the `Docker* Documentation`_ . + Below is an explaination of switches used in the command above. For + detailed :command:`docker run` switches and syntax, refer to the + `Docker Documentation`_ . - * The :option:`--name` switch lets you provide a friendly name to target the container for future operations + * The :option:`--name` switch lets you provide a friendly name to + target the container for future operations - * The :option:`-d` switch launches the container in the background + * The :option:`-d` switch launches the container in the background - * The :option:`-p` switch allows the container's HTTP port (80) to be accessible from the Clear Linux host on port 8080 + * The :option:`-p` switch allows the container's HTTP port (80) to be + accessible from the Clear Linux host on port 8080 +#. You can access the Welcome to Nginx! splash page running in the container + by browsing to http://127.0.0.1:8080 or by running this :command:`curl` + command from your Clear Linux machine: -#. You can access the Welcome to Nginx! splash page running in the container by browsing to http://127.0.0.1:8080 or by running this :command:`curl` command from your Clear Linux machine: - - .. code-block:: bash - - curl 127.0.0.1:8080 + .. code-block:: bash + curl 127.0.0.1:8080 #. Finally, stop and delete the nginx container by running the :command:`docker stop` and :command:`docker rm` commands. - .. code-block:: bash + .. code-block:: bash - sudo docker stop test-nginx - sudo docker rm test-nginx + sudo docker stop test-nginx + sudo docker rm test-nginx +Congratulations! At this point, you have successfully pulled a nginx +container image from `Docker Hub`_ and ran an example container. -Congratulations! At this point, you have successfully pulled a nginx container image from `Docker* Hub`_ and ran an example container. - - | - | - | +Creating a Docker swarm cluster +******************************* -Creating a Docker* swarm cluster -================================ -Clusters of Docker* hosts are referred to as swarms. +Clusters of Docker hosts are referred to as swarms. -The process in this tutorial can be repeated to install Docker* -on multiple Clear Linux hosts with the intent to form a Docker* swarm cluster. +The process in this tutorial can be repeated to install Docker on multiple +Clear Linux hosts with the intent to form a Docker swarm cluster. -The `Docker* documentation on swarm key concepts`_ and -`Docker* documentation on creating a swarm`_ can be referenced +The `Docker documentation on swarm key concepts`_ and +`Docker documentation on creating a swarm`_ can be referenced for further instructions on setting up a swarm. - Also see: -========= -* `Docker* Home`_ -* `Docker* Documentation`_ -* `Docker* Hub`_ +--------- +* `Docker Home`_ +* `Docker Documentation`_ +* `Docker Hub`_ * `Clear Containers`_ - - - .. _`unique features`: https://clearlinux.org/features -.. _`|CL| image on Docker* Hub`: https://hub.docker.com/_/clearlinux/ +.. _`Clear Linux image on Docker Hub`: https://hub.docker.com/_/clearlinux/ .. _`building a custom Clear Linux docker image`: https://clearlinux.org/documentation/clear-linux/guides/network/custom-clear-container -.. _`Docker* proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy +.. _`Docker proxy instructions`: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy .. _`bundles`: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts .. _`stateless system`: https://clearlinux.org/features/stateless -.. _`Docker* documentation on daemon configuration`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file +.. _`Docker documentation on daemon configuration`: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file .. _`Clear Containers`: https://github.com/clearcontainers -.. _`Docker* Home`: https://www.docker.com/ -.. _`Docker* Documentation`: https://docs.docker.com/ -.. _`Docker* Hub`: https://hub.docker.com/ -.. _`Docker* documentation on swarm key concepts`: https://docs.docker.com/engine/swarm/key-concepts/ -.. _`Docker* documentation on creating a swarm`: https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/ - +.. _`Docker Home`: https://www.docker.com/ +.. _`Docker Documentation`: https://docs.docker.com/ +.. _`Docker Hub`: https://hub.docker.com/ +.. _`Docker documentation on swarm key concepts`: https://docs.docker.com/engine/swarm/key-concepts/ +.. _`Docker documentation on creating a swarm`: https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/ diff --git a/source/clear-linux/tutorials/tutorials.rst b/source/clear-linux/tutorials/tutorials.rst index 3cbb1f17..34f0d9a0 100644 --- a/source/clear-linux/tutorials/tutorials.rst +++ b/source/clear-linux/tutorials/tutorials.rst @@ -12,6 +12,7 @@ specific |CLOSIA| use cases. wordpress flatpak/flatpak machine-learning/machine-learning + docker/docker azure/azure multi-boot/multi-boot hadoop