From 41b787f16b7e61da0e1a5494763dc35f3f48fec1 Mon Sep 17 00:00:00 2001 From: Ganawa Juanah Date: Fri, 25 Jun 2021 11:47:23 -0500 Subject: added container command refrences --- docs/configuration/container/index.rst | 139 +++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 docs/configuration/container/index.rst diff --git a/docs/configuration/container/index.rst b/docs/configuration/container/index.rst new file mode 100644 index 00000000..2447cf90 --- /dev/null +++ b/docs/configuration/container/index.rst @@ -0,0 +1,139 @@ +.. _container: + +######## +Container +######## + +************* +Configuration +************* + +.. cfgcmd:: set container + + Set an named container. + +.. cfgcmd:: set container network + + Creates a named container network + +.. cfgcmd:: set container registry + + By default, for any image that does not include the registry in the image name, Vyos will use docker.io. Multiple registries + can be added as unqualified-search-registries using this command + +.. cfgcmd:: set container image + + Sets the image name in the hub registry + + .. code-block:: none + + set container name mysql-server image mysql:8.0 + + If a registry is not specefied, Docker.io will be used as the registry by default unless an alternative registry is specefied + using **set container registry ** or the registry is included in the image name + + .. code-block:: none + + set container name mysql-server image quay.io/mysql:8.0 + +.. cfgcmd:: set container allow-host-networks + + Allow host networking in container. The network stack of the container is not isolated from the host and will use the + host IP. + + The following commands translates to "--net host" when the container is created + + .. note:: **allow-host-networks** cannot be used with **network** + +.. cfgcmd:: set container description + + Sets the container description + +.. cfgcmd:: set container environment '' value '' + + Adds a custom environment variables. Multiple enviroment variables are allowed. The following commands translates to "-e key=value" when container is created. + + .. code-block:: none + + set container name mysql-server environment 'MYSQL_DATABASE' value 'zabbix' + set container name mysql-server environment 'MYSQL_USER' value 'zabbix' + set container name mysql-server environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name mysql-server environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + +.. cfgcmd:: set container network + + Attaches user defined network to container. Only one network must be specefied and must already exist. + + Optionally a specific static IPv4 or IPv6 address can be set for the container. This address must be within the named network. + + .. code-block:: none + + set container network address
+ + .. note:: The first IP in the container network is reserved by the engine and cannot be used + +.. cfgcmd:: set container port [source | destination ] + + Publishes a port for the container + + .. code-block:: none + + set container name zabbix-web-nginx-mysql port http source 80 + set container name zabbix-web-nginx-mysql port http destination 8080 + +.. cfgcmd:: set container volume [source | destination ] + + Mount a volume into the container + + .. code-block:: none + + set container name coredns volume 'corefile' source /config/coredns/Corefile + set container name coredns volume 'corefile' destination /etc/Corefile + + + +********************* +Example Configuration +********************* + + .. code-block:: none + + set container network zabbix-net prefix 172.20.0.0/16 + set container network zabbix-net description 'Network for Zabbix component containers' + + set container name mysql-server image mysql:8.0 + set container name mysql-server network zabbix-net + + set container name mysql-server environment 'MYSQL_DATABASE' value 'zabbix' + set container name mysql-server environment 'MYSQL_USER' value 'zabbix' + set container name mysql-server environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name mysql-server environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + + set container name zabbix-java-gateway image zabbix/zabbix-java-gateway:alpine-5.2-latest + set container name zabbix-java-gateway network zabbix-net + + set container name zabbix-server-mysql image zabbix/zabbix-server-mysql:alpine-5.2-latest + set container name zabbix-server-mysql network zabbix-net + + set container name zabbix-server-mysql environment 'DB_SERVER_HOST' value 'mysql-server' + set container name zabbix-server-mysql environment 'MYSQL_DATABASE' value 'zabbix' + set container name zabbix-server-mysql environment 'MYSQL_USER' value 'zabbix' + set container name zabbix-server-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name zabbix-server-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + set container name zabbix-server-mysql environment 'ZBX_JAVAGATEWAY' value 'zabbix-java-gateway' + + set container name zabbix-server-mysql port zabbix source 10051 + set container name zabbix-server-mysql port zabbix destination 10051 + + set container name zabbix-web-nginx-mysql image zabbix/zabbix-web-nginx-mysql:alpine-5.2-latest + set container name zabbix-web-nginx-mysql network zabbix-net + + set container name zabbix-web-nginx-mysql environment 'MYSQL_DATABASE' value 'zabbix' + set container name zabbix-web-nginx-mysql environment 'ZBX_SERVER_HOST' value 'zabbix-server-mysql' + set container name zabbix-web-nginx-mysql environment 'DB_SERVER_HOST' value 'mysql-server' + set container name zabbix-web-nginx-mysql environment 'MYSQL_USER' value 'zabbix' + set container name zabbix-web-nginx-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name zabbix-web-nginx-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + + set container name zabbix-web-nginx-mysql port http source 80 + set container name zabbix-web-nginx-mysql port http destination 8080 \ No newline at end of file -- cgit v1.2.3 From d5dfc17dd9ad54f835c4ab6ee7b552c0fffa29eb Mon Sep 17 00:00:00 2001 From: Ganawa Juanah Date: Fri, 25 Jun 2021 12:58:19 -0500 Subject: added containers to toctree --- docs/configuration/index.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/configuration/index.rst b/docs/configuration/index.rst index bce013cb..d6004cad 100644 --- a/docs/configuration/index.rst +++ b/docs/configuration/index.rst @@ -20,4 +20,5 @@ The following structure respresent the cli structure. trafficpolicy/index vpn/index vrf/index - zonepolicy/index \ No newline at end of file + zonepolicy/index + container/index \ No newline at end of file -- cgit v1.2.3 From d6820da432439ce5df65e543002555bd24b4a7af Mon Sep 17 00:00:00 2001 From: Ganawa Juanah Date: Fri, 25 Jun 2021 12:58:46 -0500 Subject: fixed wording for clarification --- docs/configuration/container/index.rst | 94 ++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/docs/configuration/container/index.rst b/docs/configuration/container/index.rst index 2447cf90..520031d8 100644 --- a/docs/configuration/container/index.rst +++ b/docs/configuration/container/index.rst @@ -1,8 +1,10 @@ +.. include:: /_include/need_improvement.txt + .. _container: -######## +######### Container -######## +######### ************* Configuration @@ -18,8 +20,9 @@ Configuration .. cfgcmd:: set container registry - By default, for any image that does not include the registry in the image name, Vyos will use docker.io. Multiple registries - can be added as unqualified-search-registries using this command + Adds registry to list of unqualified-search-registries. By default, for any + image that does not include the registry in the image name, Vyos will use + docker.io as the container registry. .. cfgcmd:: set container image @@ -29,8 +32,9 @@ Configuration set container name mysql-server image mysql:8.0 - If a registry is not specefied, Docker.io will be used as the registry by default unless an alternative registry is specefied - using **set container registry ** or the registry is included in the image name + If a registry is not specefied, Docker.io will be used as the container + registry unless an alternative registry is specefied using + **set container registry ** or the registry is included in the image name .. code-block:: none @@ -38,8 +42,8 @@ Configuration .. cfgcmd:: set container allow-host-networks - Allow host networking in container. The network stack of the container is not isolated from the host and will use the - host IP. + Allow host networking in container. The network stack of the container is + not isolated from the host and will use the host IP. The following commands translates to "--net host" when the container is created @@ -78,8 +82,8 @@ Configuration .. code-block:: none - set container name zabbix-web-nginx-mysql port http source 80 - set container name zabbix-web-nginx-mysql port http destination 8080 + set container name zabbix-web-nginx-mysql port http source 80 + set container name zabbix-web-nginx-mysql port http destination 8080 .. cfgcmd:: set container volume [source | destination ] @@ -87,53 +91,53 @@ Configuration .. code-block:: none - set container name coredns volume 'corefile' source /config/coredns/Corefile - set container name coredns volume 'corefile' destination /etc/Corefile - - + set container name coredns volume 'corefile' source /config/coredns/Corefile + set container name coredns volume 'corefile' destination /etc/Corefile ********************* Example Configuration ********************* + For the sake of demonstration, `example #1 in the official documentation `_ to the declarative VyOS CLI syntax. + .. code-block:: none - set container network zabbix-net prefix 172.20.0.0/16 - set container network zabbix-net description 'Network for Zabbix component containers' + set container network zabbix-net prefix 172.20.0.0/16 + set container network zabbix-net description 'Network for Zabbix component containers' - set container name mysql-server image mysql:8.0 - set container name mysql-server network zabbix-net + set container name mysql-server image mysql:8.0 + set container name mysql-server network zabbix-net - set container name mysql-server environment 'MYSQL_DATABASE' value 'zabbix' - set container name mysql-server environment 'MYSQL_USER' value 'zabbix' - set container name mysql-server environment 'MYSQL_PASSWORD' value 'zabbix_pwd' - set container name mysql-server environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + set container name mysql-server environment 'MYSQL_DATABASE' value 'zabbix' + set container name mysql-server environment 'MYSQL_USER' value 'zabbix' + set container name mysql-server environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name mysql-server environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' - set container name zabbix-java-gateway image zabbix/zabbix-java-gateway:alpine-5.2-latest - set container name zabbix-java-gateway network zabbix-net + set container name zabbix-java-gateway image zabbix/zabbix-java-gateway:alpine-5.2-latest + set container name zabbix-java-gateway network zabbix-net - set container name zabbix-server-mysql image zabbix/zabbix-server-mysql:alpine-5.2-latest - set container name zabbix-server-mysql network zabbix-net + set container name zabbix-server-mysql image zabbix/zabbix-server-mysql:alpine-5.2-latest + set container name zabbix-server-mysql network zabbix-net - set container name zabbix-server-mysql environment 'DB_SERVER_HOST' value 'mysql-server' - set container name zabbix-server-mysql environment 'MYSQL_DATABASE' value 'zabbix' - set container name zabbix-server-mysql environment 'MYSQL_USER' value 'zabbix' - set container name zabbix-server-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' - set container name zabbix-server-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' - set container name zabbix-server-mysql environment 'ZBX_JAVAGATEWAY' value 'zabbix-java-gateway' + set container name zabbix-server-mysql environment 'DB_SERVER_HOST' value 'mysql-server' + set container name zabbix-server-mysql environment 'MYSQL_DATABASE' value 'zabbix' + set container name zabbix-server-mysql environment 'MYSQL_USER' value 'zabbix' + set container name zabbix-server-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name zabbix-server-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + set container name zabbix-server-mysql environment 'ZBX_JAVAGATEWAY' value 'zabbix-java-gateway' - set container name zabbix-server-mysql port zabbix source 10051 - set container name zabbix-server-mysql port zabbix destination 10051 + set container name zabbix-server-mysql port zabbix source 10051 + set container name zabbix-server-mysql port zabbix destination 10051 - set container name zabbix-web-nginx-mysql image zabbix/zabbix-web-nginx-mysql:alpine-5.2-latest - set container name zabbix-web-nginx-mysql network zabbix-net + set container name zabbix-web-nginx-mysql image zabbix/zabbix-web-nginx-mysql:alpine-5.2-latest + set container name zabbix-web-nginx-mysql network zabbix-net - set container name zabbix-web-nginx-mysql environment 'MYSQL_DATABASE' value 'zabbix' - set container name zabbix-web-nginx-mysql environment 'ZBX_SERVER_HOST' value 'zabbix-server-mysql' - set container name zabbix-web-nginx-mysql environment 'DB_SERVER_HOST' value 'mysql-server' - set container name zabbix-web-nginx-mysql environment 'MYSQL_USER' value 'zabbix' - set container name zabbix-web-nginx-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' - set container name zabbix-web-nginx-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' - - set container name zabbix-web-nginx-mysql port http source 80 - set container name zabbix-web-nginx-mysql port http destination 8080 \ No newline at end of file + set container name zabbix-web-nginx-mysql environment 'MYSQL_DATABASE' value 'zabbix' + set container name zabbix-web-nginx-mysql environment 'ZBX_SERVER_HOST' value 'zabbix-server-mysql' + set container name zabbix-web-nginx-mysql environment 'DB_SERVER_HOST' value 'mysql-server' + set container name zabbix-web-nginx-mysql environment 'MYSQL_USER' value 'zabbix' + set container name zabbix-web-nginx-mysql environment 'MYSQL_PASSWORD' value 'zabbix_pwd' + set container name zabbix-web-nginx-mysql environment 'MYSQL_ROOT_PASSWORD' value 'root_pwd' + + set container name zabbix-web-nginx-mysql port http source 80 + set container name zabbix-web-nginx-mysql port http destination 8080 \ No newline at end of file -- cgit v1.2.3 From e7b7a238818134de814b3028a9bad406dc5d0cbb Mon Sep 17 00:00:00 2001 From: Ganawa Juanah Date: Tue, 29 Jun 2021 14:55:59 -0500 Subject: alphabetized index.rst to place container at top --- docs/configuration/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/index.rst b/docs/configuration/index.rst index d6004cad..0fe481da 100644 --- a/docs/configuration/index.rst +++ b/docs/configuration/index.rst @@ -8,6 +8,7 @@ The following structure respresent the cli structure. :maxdepth: 1 :includehidden: + container/index firewall/index highavailability/index interfaces/index @@ -21,4 +22,3 @@ The following structure respresent the cli structure. vpn/index vrf/index zonepolicy/index - container/index \ No newline at end of file -- cgit v1.2.3