From 5c1a19b67f37c5780f8265e200e71b60c35ad83f Mon Sep 17 00:00:00 2001 From: immarvin Date: Wed, 30 Mar 2016 22:49:58 -0400 Subject: [PATCH] refine the doc --- .../dockerized_xcat/dockerized_xcat.rst | 2 +- .../dockerized_xcat/imgs/xcatindocker4.jpg | Bin 0 -> 87169 bytes .../run_xcat_in_docker_compose.rst | 18 ++++-- .../run_xcat_in_docker_native.rst | 55 ++++++++---------- 4 files changed, 37 insertions(+), 38 deletions(-) create mode 100644 docs/source/advanced/docker/dockerized_xcat/imgs/xcatindocker4.jpg diff --git a/docs/source/advanced/docker/dockerized_xcat/dockerized_xcat.rst b/docs/source/advanced/docker/dockerized_xcat/dockerized_xcat.rst index 833845869..db49faa1b 100644 --- a/docs/source/advanced/docker/dockerized_xcat/dockerized_xcat.rst +++ b/docs/source/advanced/docker/dockerized_xcat/dockerized_xcat.rst @@ -8,7 +8,7 @@ Overview `Docker `_ is a popular containment environment making it easier to create, deploy, and run applications/services. With Docker, applications/services are shipped as **Docker images** and run in **Docker containers**. **Docker containers** include the application/services and all of its running environment, which have isolated namespace and network stack but share the kernel on the host operating system. The server on which **Docker containers** run is called **Docker host**. **Docker image** can only run on **Docker host** with the same architecture. -.. image:: ./imgs/xcatindocker.jpg +.. image:: ./imgs/xcatindocker4.jpg :height: 500 px :width: 600 px :scale: 50 % diff --git a/docs/source/advanced/docker/dockerized_xcat/imgs/xcatindocker4.jpg b/docs/source/advanced/docker/dockerized_xcat/imgs/xcatindocker4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..054f056aaeb24a22dede034decf4d74412a1e40b GIT binary patch literal 87169 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 . The commands should be run successively in one line to avoid breaking the network connection of the network interface of Docker host. To remove the container, you can run :: - docker-compose -f "docker-compose.yml" down;ifdown eno1;ifup eno1 + docker-compose -f "docker-compose.yml" down; \ + ifdown eno1; \ + ifup eno1 To update the xCAT Docker image, you can run :: @@ -111,8 +117,8 @@ Known Issues ------------ .. [1] When you start up xCAT Docker container, you might see an error message at the end of the output like: :: - - "Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running? - If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable." -You can ignore it, the container has already been running. It is a Docker bug `#1214 `_ + + "Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running? If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable." + + You can ignore it, the container has already been running. It is a Docker bug `#1214 `_ diff --git a/docs/source/advanced/docker/dockerized_xcat/run_xcat_in_docker_native.rst b/docs/source/advanced/docker/dockerized_xcat/run_xcat_in_docker_native.rst index 89e4e91f1..481ec15a1 100644 --- a/docs/source/advanced/docker/dockerized_xcat/run_xcat_in_docker_native.rst +++ b/docs/source/advanced/docker/dockerized_xcat/run_xcat_in_docker_native.rst @@ -7,21 +7,9 @@ Pull the xCAT Docker image from DockerHub Now xCAT ships xCAT Docker images(x86_64 and ppc64le) on the `DockerHub `_: -To pull the xCAT 2.11 Docker for x86_64, run :: +To pull the latest xCAT Docker image for x86_64, run :: - [root@dockerhost1 ~]# sudo docker pull xcat/xcat-ubuntu-x86_64:2.11 - Using default tag: latest - latest: Pulling from xcat/xcat-ubuntu-x86_64 - 118aadd1f859: Already exists - 41402770caf2: Already exists - a5051dd98acd: Already exists - a3ed95caeb02: Already exists - b084cef63fa6: Already exists - f993e0b41814: Already exists - 70da11abb463: Already exists - ef43498c5fbc: Already exists - Digest: sha256:1dd0b80d4ff91ed9ddd11a3f16c10d33553cf2acf358f72575d9290596a89157 - Status: Image is up to date for xcat/xcat-ubuntu-x86_64:latest + sudo docker pull xcat/xcat-ubuntu-x86_64 On success, you will see the pulled Docker image on Docker host :: @@ -36,12 +24,15 @@ An example configuration in the documentation To demonstrate the steps to run xCAT in a Docker container, take a cluster with the following configuration as an example :: Docker host: dockerhost1 - The network interface on the Docker host facing the compute nodes: eno1 - The IP address of eno1 on Docker host: 10.5.107.1/8 - The customized docker bridge: br0 The name of the docker container running xCAT: xcatmn The hostname of container xcatmn: xcatmn - The IP address of container xcatmn: 10.5.107.101 + + The management network object: mgtnet + The network bridge of management network on Docker host: mgtbr + The management network interface on the Docker host facing the compute nodes: eno1 + The IP address of eno1 on Docker host: 10.5.107.1/8 + The IP address of xCAT container in management network: 10.5.107.101 + The dns domain of the cluster: clusters.com @@ -50,35 +41,37 @@ Create a customized Docker network on the Docker host **Docker Networks** provide complete isolation for containers, which gives you control over the networks your containers run on. To run xCAT in Docker, you should create a customized bridge network according to the cluster network plan, instead of using the default bridge network created on Docker installation. -As an example, we create a customized bridge network "subnet1" which is attached to the network interface "eno1" facing the compute nodes and inherits the network configuration of "eno1". Since the commands to create the network will break the network connection on "eno1", you'd better run the commands in one line instead of running them seperatly :: +As an example, we create a customized bridge network "mgtbr" which is attached to the network interface "eno1" facing the compute nodes and inherits the network configuration of "eno1". Since the commands to create the network will break the network connection on "eno1", you'd better run the commands in one line instead of running them seperatly :: - [root@dockerhost1 ~]# sudo docker network create --driver=bridge --gateway=10.5.107.1 --subnet=10.5.107.0/8 --ip-range=10.5.107.100/30 -o "com.docker.network.bridge.name"="br0" -o "com.docker.network.bridge.host_binding_ipv4"="10.5.107.1" subnet1;ip addr del dev eno1 10.5.107.1/8;brctl addif br0 eno1;ip link set br0 up + sudo docker network create --driver=bridge --gateway=10.5.107.1 --subnet=10.5.107.0/8 -o "com.docker.network.bridge.name"="mgtbr" mgtnet; \ + ifconfig eno1 0.0.0.0; \ + brctl addif mgtbr eno1; \ + ip link set mgtbr up * ``--driver=bridge`` specify the network driver to be "bridge" -* ``--gateway=10.5.107.1`` specify the network gateway to be the IP address of "eno1" on Docker host +* ``--gateway=10.5.107.1`` specify the network gateway to be the IP address of "eno1" on Docker host. which will also be the IP address of network bridge "mgtbr" * ``--subnet=10.5.107.0/8`` speify the subnet in CIDR format to be the subnet of "eno1" -* ``--ip-range=10.5.107.100/30`` specify the sub-range to allocate container IP, this should be a segment of subnet specified with "--subnet" -* ``-o "com.docker.network.bridge.name"="br0" -o "com.docker.network.bridge.host_binding_ipv4"="10.5.107.1"`` specify the specific options for "bridge" driver. ``com.docker.network.bridge.name"="br0"`` specify the name of the bridge created to be "br0", ``"com.docker.network.bridge.host_binding_ipv4"="10.5.107.1"`` specify the IP address of the bridge "br0", which is the IP address of the network interface "eno1" -* ``ip addr del dev eno1 10.5.107.1/8`` delete the IP address of "eno1" -* ``brctl addif br0 eno1`` attach the bridge "br0" to network interface "eno1" -* ``ip link set br0 up`` change the state of "br0" to UP +* ``com.docker.network.bridge.name"="mgtbr"`` specify the bridge name of management network +* ``ifconfig eno1 0.0.0.0`` delete the IP address of "eno1" +* ``brctl addif mgtbr eno1`` attach the bridge "br0" to network interface "eno1" +* ``ip link set mgtbr up`` change the state of "br0" to UP -When the network is created, you can list it with ``sudo docker network ls`` and get the information of it with ``sudo docker inspect subnet1``. +When the network is created, you can list it with ``sudo docker network ls`` and get the information of it with ``sudo docker inspect mgtnet``. Run xCAT in Docker container ---------------------------- -Now run the xCAT Docker container with the Docker image "xcat/xcat-ubuntu-x86_64" and connect it to the newly created customized Docker network "subnet1" :: +Now run the xCAT Docker container with the Docker image "xcat/xcat-ubuntu-x86_64" and connect it to the newly created customized Docker network "mgtnet" :: - [root@dockerhost1 ~]# sudo docker run -it --privileged=true --hostname=xcatmn --name=xcatmn --add-host="xcatmn.clusers.com xcatmn:10.5.107.101" --volume /docker/xcatdata/:/install --net=subnet1 --ip=10.5.107.101 xcat/xcat-ubuntu-x86_64 + sudo docker run -it --privileged=true --hostname=xcatmn --name=xcatmn --add-host="xcatmn.clusers.com xcatmn:10.5.107.101" --volume /docker/xcatdata/:/install --net=mgtnet --ip=10.5.107.101 xcat/xcat-ubuntu-x86_64 * use ``--privileged=true`` to give extended privileges to this container * use ``--hostname`` to specify the hostname of the container, which is available inside the container * use ``--name`` to assign a name to the container, this name can be used to manipulate the container on Docker host * use ``--add-host="xcatmn.clusers.com xcatmn:10.5.107.101"`` to write the ``/etc/hosts`` entries of Docker container inside container. Since xCAT use the FQDN(Fully Qualified Domain Name) to determine the cluster domain on startup, please make sure the format to be " : ", otherwise, you need to set the cluster domain with ``chdef -t site -o clustersite domain="clusters.com"`` inside the container manually * use ``--volume /docker/xcatdata/:/install`` to mount a pre-created "/docker/xcatdata" directory on Docker host to "/install" directory inside container as a data volume. This is optional, it is mandatory if you want to backup and restore xCAT data. -* use ``--net=subnet1`` to connect the container to the Docker network "subnet1" -* use ``--ip=10.5.107.101`` to specify the IP address of the Docker container +* use ``--net=mgtnet`` to connect the container to the Docker network "mgtnet" +* use ``--ip=10.5.107.101`` to specify the IP address of the xCAT Docker container