Kurz: Vytvoření vícekontejnerové aplikace (verze Preview) ve službě Web App for Containers
Poznámka:
Kontejnery sajdkáře (Preview) budou ve službě App Service úspěšné pro vícekontenerové aplikace. Pokud chcete začít, přečtěte si kurz: Konfigurace kontejneru sajdkáře pro vlastní kontejner ve službě Aplikace Azure Service (Preview).
Služba Web App for Containers poskytuje flexibilní způsob, jak používat image Dockeru. V tomto kurzu zjistíte, jak vytvořit vícekontejnerovou aplikaci pomocí WordPressu a MySQL. K dokončení tohoto kurzu použijete Cloud Shell. Ke spuštění těchto příkazů také můžete použít nástroj příkazového řádku Azure CLI (verze 2.0.32 nebo novější).
V tomto kurzu se naučíte:
- Převést konfiguraci Docker Compose tak, aby fungovala se službou Web App for Containers
- Nasadit vícekontejnerovou aplikaci do Azure
- Přidání nastavení aplikace
- Použít trvalé úložiště pro kontejnery
- Připojit se ke službě Azure Database for MySQL
- Řešení chyb
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
K dokončení tohoto kurzu potřebujete zkušenosti s Docker Compose.
Stažení ukázky
V tomto kurzu použijete soubor compose z Dockeru, ale upravíte ho tak, aby zahrnoval Azure Database for MySQL, trvalé úložiště a Redis. Tento konfigurační soubor najdete mezi ukázkami Azure. V následující ukázce si všimněte, že depends_on
je nepodporovaná možnost a je ignorována. Podporované možnosti konfigurace najdete v tématu Možnosti Docker Compose.
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
Ve službě Cloud Shell vytvořte adresář kurzu a přejděte do něj.
mkdir tutorial
cd tutorial
Potom spusťte následující příkaz, pomocí kterého do tohoto adresáře kurzu naklonujete úložiště ukázkové aplikace. Pak přejděte do adresáře multicontainerwordpress
.
git clone https://github.com/Azure-Samples/multicontainerwordpress
cd multicontainerwordpress
Vytvoření skupiny zdrojů
Skupina prostředků je logický kontejner, do kterého se nasazují a spravují prostředky Azure, jako jsou webové aplikace, databáze a účty úložiště. Později se například můžete rozhodnout odstranit celou skupinu prostředků v jednom jednoduchém kroku.
Ve službě Cloud Shell pomocí příkazu az group create
vytvořte skupinu prostředků. Následující příklad vytvoří skupinu prostředků s názvem myResourceGroup v umístění USA – středojih. Pokud chcete zobrazit všechna podporovaná umístění pro službu App Service v Linuxu na úrovni Standard, spusťte příkaz az appservice list-locations --sku S1 --linux-workers-enabled
.
az group create --name myResourceGroup --location "South Central US"
Obvykle budete svoji skupinu prostředků a prostředky vytvářet v oblasti, kterou máte blízko.
Po dokončení příkazu se ve výstupu JSON zobrazí vlastnosti skupiny prostředků.
Vytvoření plánu služby Azure App Service
Ve službě Cloud Shell pomocí příkazu az appservice plan create
vytvořte ve skupině prostředků plán služby App Service.
Následující příklad vytvoří plán služby App Service s názvem myAppServicePlan
v cenové úrovni Standard (--sku S1
) a v kontejneru Linuxu (--is-linux
).
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku S1 --is-linux
Po vytvoření plánu služby App Service se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
{ "adminSiteName": null, "appServicePlanName": "myAppServicePlan", "geoRegion": "South Central US", "hostingEnvironmentProfile": null, "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan", "kind": "linux", "location": "South Central US", "maximumNumberOfWorkers": 1, "name": "myAppServicePlan", < JSON data removed for brevity. > "targetWorkerSizeId": 0, "type": "Microsoft.Web/serverfarms", "workerTierName": null }
Docker Compose s kontejnery WordPressu a MySQL
Vytvoření aplikace Docker Compose
Ve službě Cloud Shell pomocí příkazu az webapp create vytvořte vícekontejnerovou webovou aplikaci v plánu služby App Service myAppServicePlan
. Nezapomeňte nahradit <název> aplikace jedinečným názvem aplikace.
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml
Po vytvoření webové aplikace se ve službě Cloud Shell zobrazí podobný výstup jako v následujícímu příkladu:
{ "additionalProperties": {}, "availabilityState": "Normal", "clientAffinityEnabled": true, "clientCertEnabled": false, "cloningInfo": null, "containerSize": 0, "dailyMemoryTimeQuota": 0, "defaultHostName": "<app-name>.azurewebsites.net", "enabled": true, < JSON data removed for brevity. > }
Přechod do aplikace
Přejděte do nasazené aplikace na adrese http://<app-name>.azurewebsites.net
. Načtení aplikace může pár minut trvat. Když se zobrazí chyba, ještě chvíli počkejte a pak aktualizujte prohlížeč. Pokud máte problémy a chcete je vyřešit, prohlédněte si protokoly kontejneru.
Blahopřejeme, vytvořili jste vícekontejnerovou aplikaci ve službě Web App for Containers. Dále aplikaci nakonfigurujete tak, aby používala službu Azure Database for MySQL. Tentokrát nebudete instalovat WordPress.
Připojení k produkční databázi
Kontejnery databáze se nedoporučuje používat v produkčním prostředí. Místní kontejnery nejsou škálovatelné. Místo toho použijete službu Azure Database for MySQL, která je škálovatelná.
Vytvoření serveru Azure Database for MySQL
Příkazem az mysql server create
vytvořte server Azure Database for MySQL.
V následujícím příkazu nahraďte název vašeho serveru MySQL, kde se zobrazí zástupný symbol mysql-server-name> (platné znaky jsou a-z
, 0-9
a -
).< Tento název je součástí názvu hostitele serveru MySQL (<mysql-server-name>.database.windows.net
) a musí být globálně jedinečný.
az mysql server create --resource-group myResourceGroup --name <mysql-server-name> --location "South Central US" --admin-user adminuser --admin-password My5up3rStr0ngPaSw0rd! --sku-name B_Gen5_1 --version 5.7
Vytvoření serveru může trvat několik minut. Po vytvoření serveru MySQL se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
{ "administratorLogin": "adminuser", "administratorLoginPassword": null, "fullyQualifiedDomainName": "<mysql-server-name>.database.windows.net", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DBforMySQL/servers/<mysql-server-name>", "location": "southcentralus", "name": "<mysql-server-name>", "resourceGroup": "myResourceGroup", ... }
Konfigurace brány firewall serveru
Pomocí příkazu az mysql server firewall-rule create
vytvořte pro svůj server MySQL pravidlo brány firewall umožňující klientská připojení. Pokud je jako počáteční i koncová adresa IP nastavená hodnota 0.0.0.0, je brána firewall otevřená jen pro ostatní prostředky Azure.
az mysql server firewall-rule create --name allAzureIPs --server <mysql-server-name> --resource-group myResourceGroup --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
Tip
Pravidlo brány firewall můžete dál omezit použitím jenom odchozích IP adres, které vaše aplikace používá.
Vytvoření databáze WordPressu
az mysql db create --resource-group myResourceGroup --server-name <mysql-server-name> --name wordpress
Po vytvoření databáze se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
{ "additionalProperties": {}, "charset": "latin1", "collation": "latin1_swedish_ci", "id": "/subscriptions/12db1644-4b12-4cab-ba54-8ba2f2822c1f/resourceGroups/myResourceGroup/providers/Microsoft.DBforMySQL/servers/<mysql-server-name>/databases/wordpress", "name": "wordpress", "resourceGroup": "myResourceGroup", "type": "Microsoft.DBforMySQL/servers/databases" }
Konfigurace proměnných databáze ve WordPressu
Kvůli připojení aplikace WordPress k tomuto novému serveru MySQL nakonfigurujete několik proměnných prostředí specifických pro WordPress včetně cesty k certifikační autoritě SSL definované pomocí MYSQL_SSL_CA
. Níže uvedená vlastní image obsahuje kořenový certifikát Baltimore CyberTrust od společnosti DigiCert.
K provedení těchto změn použijte příkaz az webapp config appsettings set ve službě Cloud Shell. Nastavení aplikace rozlišují velká a malá písmena a jsou oddělená mezerami.
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WORDPRESS_DB_HOST="<mysql-server-name>.mysql.database.azure.com" WORDPRESS_DB_USER="adminuser" WORDPRESS_DB_PASSWORD="My5up3rStr0ngPaSw0rd!" WORDPRESS_DB_NAME="wordpress" MYSQL_SSL_CA="BaltimoreCyberTrustroot.crt.pem"
Po vytvoření nastavení aplikace se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
[ { "name": "WORDPRESS_DB_HOST", "slotSetting": false, "value": "<mysql-server-name>.mysql.database.azure.com" }, { "name": "WORDPRESS_DB_USER", "slotSetting": false, "value": "adminuser" }, { "name": "WORDPRESS_DB_NAME", "slotSetting": false, "value": "wordpress" }, { "name": "WORDPRESS_DB_PASSWORD", "slotSetting": false, "value": "My5up3rStr0ngPaSw0rd!" }, { "name": "MYSQL_SSL_CA", "slotSetting": false, "value": "BaltimoreCyberTrustroot.crt.pem" } ]
Další informace o proměnných prostředí najdete v tématu Konfigurace proměnných prostředí.
Použití vlastní image pro protokol TLS/SSL MySQL a další konfigurace
Ve výchozím nastavení používá Azure Database for MySQL protokol TLS/SSL. WordPress vyžaduje další konfiguraci pro použití protokolu TLS/SSL s MySQL. Oficiální image WordPressu neposkytuje další konfiguraci, ale vlastní image byla připravena pro vaše pohodlí. V praxi byste požadované změny přidali do své vlastní image.
Tato vlastní image vychází z „oficiální image“ WordPressu v Centru Dockeru. Pro službu Azure Database for MySQL byly v této vlastní imagi provedeny následující změny:
- Do MySQL byl přidán soubor kořenového certifikátu Baltimore Cyber Trust pro SSL.
- V souboru wp-config.php WordPressu se používá nastavení aplikace pro certifikát certifikační autority MySQL SSL.
- Byla přidána definice WordPressu pro MYSQL_CLIENT_FLAGS potřebná pro MySQL SSL.
Následující změny byly provedeny pro Redis (bude použito později):
- Bylo přidáno rozšíření PHP pro Redis verze 4.0.2.
- Byl přidán program unzip potřebný k rozbalení souborů.
- Byl přidán modul plug-in Mezipaměť objektů Redis 1.3.8 pro WordPress.
- V souboru wp-config.php WordPressu se používá nastavení aplikace pro název hostitele Redis.
Abyste mohli tuto vlastní image použít, aktualizujete soubor docker-compose-wordpress.yml. V Cloud Shellu otevřete textový editor a změňte image: wordpress
možnost použití image: mcr.microsoft.com/azuredocs/multicontainerwordpress
. Kontejner databáze už nepotřebujete. Odeberte z konfiguračního souboru oddíly db
, environment
, depends_on
a volumes
. Soubor by měl připomínat následující kód:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
ports:
- "8000:80"
restart: always
Aktualizace aplikace o novou konfiguraci
Ve službě Cloud Shell změňte příkazem az webapp config container set konfiguraci vícekontejnerové webové aplikace. Nezapomeňte nahradit <název> aplikace názvem webové aplikace, kterou jste vytvořili dříve.
az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml
Po změně konfigurace aplikace se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
[ { "name": "DOCKER_CUSTOM_IMAGE_NAME", "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICB3b3JkcHJlc3M6CiAgICAgaW1hZ2U6IG1zYW5nYXB1L3dvcmRwcmVzcwogICAgIHBvcnRzOgogICAgICAgLSAiODAwMDo4MCIKICAgICByZXN0YXJ0OiBhbHdheXM=" } ]
Přechod do aplikace
Přejděte do nasazené aplikace na adrese http://<app-name>.azurewebsites.net
. Aplikace teď používá službu Azure Database for MySQL.
Přidání trvalého úložiště
Ve více kontejnerech se teď provozuje služba Web App for Containers. Pokud ale teď nainstalujete WordPress a později aplikaci restartujete, zjistíte, že instalace WordPressu zmizela. Konfigurace Docker Compose totiž momentálně ukazuje na umístění úložiště uvnitř vašeho kontejneru. Soubory nainstalované do tohoto kontejneru se po restartování aplikace nezachovají. V této části přidáte trvalé úložiště do kontejneru WordPress.
Konfigurace proměnných prostředí
Pokud chcete použít trvalé úložiště, povolíte toto nastavení ve službě App Service. K provedení této změny použijte příkaz az webapp config appsettings set ve službě Cloud Shell. Nastavení aplikace rozlišují velká a malá písmena a jsou oddělená mezerami.
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE
Po vytvoření nastavení aplikace se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
[ < JSON data removed for brevity. > { "name": "WORDPRESS_DB_NAME", "slotSetting": false, "value": "wordpress" }, { "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE", "slotSetting": false, "value": "TRUE" } ]
Úprava konfiguračního souboru
V Cloud Shellu otevřete soubor docker-compose-wordpress.yml
v textovém editoru.
Možnost volumes
mapuje systém souborů na určitý adresář uvnitř kontejneru. ${WEBAPP_STORAGE_HOME}
je proměnná prostředí ve službě App Service, která je namapovaná na trvalé úložiště vaší aplikace. Tuto proměnnou prostředí použijete u možnosti volumes, aby se soubory WordPressu nainstalovaly do trvalého úložiště místo do kontejneru. Proveďte v tomto souboru následující změny:
Do sekce wordpress
přidejte možnost volumes
tak, aby vypadala jako následující kód:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
volumes:
- ${WEBAPP_STORAGE_HOME}/site/wwwroot:/var/www/html
ports:
- "8000:80"
restart: always
Aktualizace aplikace o novou konfiguraci
Ve službě Cloud Shell změňte příkazem az webapp config container set konfiguraci vícekontejnerové webové aplikace. Nezapomeňte nahradit <název> aplikace jedinečným názvem aplikace.
az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml
Po spuštění příkazu se zobrazí výstup podobný následujícímu příkladu:
[ { "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE", "slotSetting": false, "value": "TRUE" }, { "name": "DOCKER_CUSTOM_IMAGE_NAME", "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo=" } ]
Přechod do aplikace
Přejděte do nasazené aplikace na adrese http://<app-name>.azurewebsites.net
.
Kontejner WordPressu teď používá službu Azure Database for MySQL a trvalé úložiště.
Přidání kontejneru Redis
„Oficiální image“ WordPressu neobsahuje závislosti pro Redis. Tyto závislosti a dodatečná konfigurace potřebná pro použití Redis s WordPressem byly připraveny v této vlastní imagi. V praxi byste požadované změny přidali do své vlastní image.
Tato vlastní image vychází z „oficiální image“ WordPressu v Centru Dockeru. V této vlastní imagi byly provedeny následující změny pro Redis:
- Bylo přidáno rozšíření PHP pro Redis verze 4.0.2.
- Byl přidán program unzip potřebný k rozbalení souborů.
- Byl přidán modul plug-in Mezipaměť objektů Redis 1.3.8 pro WordPress.
- V souboru wp-config.php WordPressu se používá nastavení aplikace pro název hostitele Redis.
Přidejte kontejner Redis na konec konfiguračního souboru tak, aby vypadal jako v následujícím příkladu:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
ports:
- "8000:80"
restart: always
redis:
image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
environment:
- ALLOW_EMPTY_PASSWORD=yes
restart: always
Konfigurace proměnných prostředí
Abyste mohli použít Redis, povolíte ve službě App Service nastavení WP_REDIS_HOST
. Jde o povinné nastavení, které WordPressu umožňuje komunikovat s hostitelem Redis. K provedení této změny použijte příkaz az webapp config appsettings set ve službě Cloud Shell. Nastavení aplikace rozlišují velká a malá písmena a jsou oddělená mezerami.
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WP_REDIS_HOST="redis"
Po vytvoření nastavení aplikace se ve službě Cloud Shell zobrazí podobné informace jako v následujícím příkladu:
[ < JSON data removed for brevity. > { "name": "WORDPRESS_DB_USER", "slotSetting": false, "value": "adminuser" }, { "name": "WP_REDIS_HOST", "slotSetting": false, "value": "redis" } ]
Aktualizace aplikace o novou konfiguraci
Ve službě Cloud Shell změňte příkazem az webapp config container set konfiguraci vícekontejnerové webové aplikace. Nezapomeňte nahradit <název> aplikace jedinečným názvem aplikace.
az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml
Po spuštění příkazu se zobrazí výstup podobný následujícímu příkladu:
[ { "name": "DOCKER_CUSTOM_IMAGE_NAME", "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo=" } ]
Přechod do aplikace
Přejděte do nasazené aplikace na adrese http://<app-name>.azurewebsites.net
.
Dokončete tento postup a nainstalujte WordPress.
Připojení WordPressu k Redis
Přihlaste se ke správci WordPressu. V levém navigačním panelu vyberte Moduly plug-in a pak vyberte Nainstalované moduly plug-in.
Zobrazí se všechny moduly plug-in.
Na stránce s moduly plug-in najděte Mezipaměť objektů Redis a klikněte na Aktivovat.
Klikněte na Nastavení.
Klikněte na tlačítko Povolit mezipaměť objektů.
WordPress se připojí k serveru Redis. Na stejné stránce se zobrazí stav připojení.
Blahopřejeme, připojili jste WordPress k Redis. Aplikace připravená do produkce teď používá službu Azure Database for MySQL, trvalé úložiště a Redis. Plán služby App Service teď škálovat na více instancí.
Nalezení protokolů kontejneru Dockeru
Pokud při používání více kontejnerů narazíte na problémy, můžete přechodem na adresu https://<app-name>.scm.azurewebsites.net/api/logs/docker
zpřístupnit protokoly kontejneru.
Zobrazí se výstup podobný následujícímu příkladu:
[ { "machineName":"RD00XYZYZE567A", "lastUpdated":"2018-05-10T04:11:45Z", "size":25125, "href":"https://<app-name>.scm.azurewebsites.net/api/vfs/LogFiles/2018_05_10_RD00XYZYZE567A_docker.log", "path":"/home/LogFiles/2018_05_10_RD00XYZYZE567A_docker.log" } ]
Můžete si prohlédnout protokoly pro jednotlivé kontejnery a další protokol pro nadřazený proces. Protokol zobrazíte tak, že do prohlížeče zkopírujete příslušnou hodnotu href
.
Vyčištění nasazení
Po spuštění ukázkového skriptu můžete pomocí následujícího příkazu odebrat skupinu prostředků a všechny k ní přidružené prostředky.
az group delete --name myResourceGroup
Další kroky
V tomto kurzu jste se naučili, jak:
- Převést konfiguraci Docker Compose tak, aby fungovala se službou Web App for Containers
- Nasadit vícekontejnerovou aplikaci do Azure
- Přidání nastavení aplikace
- Použít trvalé úložiště pro kontejnery
- Připojit se ke službě Azure Database for MySQL
- Řešení chyb
V dalším kurzu se dozvíte, jak zabezpečit aplikaci pomocí vlastní domény a certifikátu.
Nebo se podívejte na další zdroje informací:
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro