diff --git a/source/clear-linux/reference/bundles/bundles.html b/source/clear-linux/reference/bundles/bundles.html index 2cfc7caa..1125802f 100644 --- a/source/clear-linux/reference/bundles/bundles.html +++ b/source/clear-linux/reference/bundles/bundles.html @@ -1,53 +1,3 @@ - - Bundles in Clear Linux OS for IntelĀ® Architecture - - - diff --git a/source/clear-linux/tutorials/docker/docker.rst b/source/clear-linux/tutorials/docker/docker.rst index e9643777..f6a0d0c3 100644 --- a/source/clear-linux/tutorials/docker/docker.rst +++ b/source/clear-linux/tutorials/docker/docker.rst @@ -1,12 +1,12 @@ .. _docker: -Run Docker\* on Clear Linux\* -############################# +Run Docker\* on |CL-ATTR| +######################### -|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. +|CL-ATTR| 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: @@ -14,18 +14,29 @@ This tutorial covers: :depth: 1 .. note:: - - This tutorial focuses on the installaton of the Docker ecosystem. + + 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`_ . + official |CL| container image + `published on Docker* Hub `_ + and our guide to :ref:`custom-clear-container`. Prerequisites ************* -* Basic understanding of Linux and Docker. +This tutorial assumes you have installed |CL| on your host system. +For detailed instructions on installing |CL| on a bare metal system, follow +the :ref:`bare metal installation instructions`. -* Successful completion: :ref:`bare-metal-install` +Before you install any new packages, update |CL| with the following command: + +.. code-block:: bash + + sudo swupd update + +Additionally, you should have: + +* A basic understanding of Linux and Docker. * |CL| environment that has transparent network access to the Internet. If you are behind a HTTP proxy server, in a corporate setting for example, @@ -35,10 +46,10 @@ 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. +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 +#. First, install the *containers-basic* bundle by running this :command:`swupd` command: .. code-block:: bash @@ -51,49 +62,49 @@ packages to run Docker images as containers. sudo systemctl start docker - If you want Docker to start automatically on boot, enable the + If you want Docker to start automatically on boot, enable the systemd service by running this command: .. code-block:: bash sudo systemctl enable docker -#. Finally, verify :command:`docker` has been installed by running this +#. Finally, 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 + sudo docker version -Congratulations! At this point, you have a working installation of Docker +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 Kata Containers (optional) ******************************************** `Kata Containers`_, is an open source project aiming to increase security -of containers by using a hardware-backed virtual machine container runtime -rather than software namespace containers that are provided by the standard +of containers by using a hardware-backed virtual machine container runtime +rather than software namespace containers that are provided by the standard Docker *runc* runtime. Clear Linux provides easy integration of the *kata-runtime* with Docker. More information on installing and using the *kata-runtime* may be found at :ref:`kata`. -.. note:: +.. 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 + 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 ******************************* Perform additional Docker daemon configuration via a configuration file -typically located at :file:`/etc/docker/daemon.json`. |CL| features a +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. +exist by default. #. Create the :file:`daemon.json` by running this command: @@ -101,34 +112,35 @@ exist by default. sudo touch /etc/docker/daemon.json - .. note:: + .. note:: - 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. - A minimal configuration would be. - .. code-block:: json - - { - "storage-driver": "devicemapper" - } + A minimal configuration would be: -#. Once you've made any required changes, be sure to restart the + .. code-block:: json + + { + "storage-driver": "devicemapper" + } + +#. 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 -Pulling and Running an image from Docker Hub +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. +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 +#. 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 @@ -143,37 +155,37 @@ an the official Docker image for nginx, an open source reverse proxy server. sudo docker run --name test-nginx -d -p 8080:80 nginx .. note:: - + Below is an explanation of switches used in the command above. For - detailed :command:`docker run` switches and syntax, refer to the + detailed :command:`docker run` switches and syntax, refer to the `Docker Documentation`_ . * The *--name* switch lets you provide a friendly name to target the container for future operations * The *-d* switch launches the container in the background - + * The *-p* switch allows the container's HTTP port (80) to be - accessible from the Clear Linux host on port 8080 + accessible from the |CL| 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: + by browsing to http://127.0.0.1:8080 or by running this :command:`curl` + command from your |CL| machine: .. code-block:: bash curl 127.0.0.1:8080 -#. Finally, stop and delete the nginx container by running the +#. 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 stop test-nginx sudo docker rm test-nginx -Congratulations! At this point, you have successfully pulled a nginx -container image from `Docker Hub`_ and have run an example container. +Congratulations! At this point, you have successfully pulled a nginx +container image from `Docker Hub`_ and have run an example container. Creating a Docker swarm cluster ******************************* @@ -181,30 +193,27 @@ 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. +|CL| 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: ---------- +Related topics +************** + * `Docker Home`_ * `Docker Documentation`_ * `Docker Hub`_ -* `Kata Containers`_ +* `Kata Containers`_ .. _unique features: https://clearlinux.org/features -.. _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 .. _bundles: https://clearlinux.org/documentation/clear-linux/concepts/bundles-about#related-concepts -.. _stateless system: https://clearlinux.org/features/stateless +.. _stateless system: https://clearlinux.org/features/stateless .. _Docker documentation on daemon configuration: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file