.. _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