Izvietojiet PHP lietojumprogrammu, izmantojot Docker-compose

PHP lietojumprogrammas parasti veido tīmekļa serveris, relāciju datu bāzes sistēma un pats valodas tulks. Šajā apmācībā mēs izmantosim pilnu PHP lietojumprogrammu kopu, izmantojot docker. Šī ir padziļināta apmācība, kurā mēs gatavojamies izveidot un koordinēt konteinerus Nginx (tīmekļa serverim), MySQL (datu bāzes sistēmai) un PHP.

Šīs apmācības nolūkos mēs uzrakstīsim vienkāršu aplikāciju, kas nolasa pilsētu sarakstu no datu bāzes un parāda to tīmekļa lapā, tādā veidā mēs demonstrēsim pamata, bet strādājošu PHP aplikāciju.

Šajā rokasgrāmatā tiek pieņemts, ka jums jau ir instalēts Docker-CE un jums ir vismaz minimālas darba zināšanas par doku. Šim nolūkam varat pārskatīt šādas apmācības:

Mūsu darba vides konfigurēšana

Reālās dzīves docker lietojumprogramma parasti sastāv no vairākiem konteineriem. To manuāla pārvaldīšana var viegli kļūt diezgan netīra un apgrūtinoša. Šeit tiek izmantota dokera komponēšana. Tas palīdz pārvaldīt vairākus konteinerus, izmantojot vienkāršu yamlkonfigurācijas failu.

Instalējiet docker-compose.

curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Izveidojiet mapi, kurā glabājiet visus nepieciešamos šī piemēra failus un pēc tam cdtajā. No šī brīža šis ir mūsu darba direktorijs, un katra komanda tiks izpildīta šajā mapē, un katrs ceļš tiks attiecināts uz to. Šo mapi vēlāk var saukt par WORKING_DIR.

mkdir ~/docker
cd ~/docker

Tagad izveidojiet vēl trīs mapes.

mkdir php nginx app

phpMape ir vieta, kur mēs veidot mūsu pasūtījuma PHP tēlu, tad nginxmape rīkos nepieciešamos failus mūsu pasūtījuma Nginx tēla un appmape, kurā mēs liekot pirmkodu un konfigurāciju mūsu parauga pieteikumu.

PHP konteinera konfigurēšana

Šajā piemērā mēs izmantosim, php-fpmlai izveidotu savienojumu ar Nginx tīmekļa serveri. Mēs izmantosim oficiālo PHP bāzes attēlu. Tomēr mums ir arī jāinstalē un jāiespējo daži paplašinājumi, lai mēs varētu piekļūt datu bāzei. Inside phpmapē izveidotu failu ar nosaukumu Dockerfileun nodot šādus saturu tajā.

FROM php:7.1-fpm-alpine3.4
RUN apk update --no-cache \
    && apk add --no-cache $PHPIZE_DEPS \
    && apk add --no-cache mysql-dev \
    && docker-php-ext-install pdo pdo_mysql

Ņemiet vērā, ka mēs izmantojam oficiālā PHP attēla Alpine versiju. Alpine ir ļoti mazs izplatījums, kas paredzēts konteineriem, nodrošinot daudz mazākus nospiedumus. Ņemiet vērā arī komandas izmantošanu docker-php-ext-install, oficiālais PHP attēls nodrošina šo komandu, lai atvieglotu PHP paplašinājumu instalēšanas un konfigurēšanas procesu.

Tagad izveidosim šo Docker attēlu, izdodot šo (mūsu iekšienē WORKING_DIR):

docker build -t vultr-php php/

docker-compose.ymlfails

Kā jau minēts, tas docker-composeļauj pārvaldīt vairākus konteinerus, izmantojot vienkāršu konfigurācijas failu. Šim konfigurācijas failam parasti ir nosaukums docker-compose.yml. Izveidojiet šo failu appmapē.

touch app/docker-compose.yml

Tagad ievietojiet šajā failā šādu saturu.

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app

Mēs izskaidrosim šo sintaksi. Pirmkārt, atzīmējiet pirmo rindiņu.

version: '2'

Tas norāda izmantotā docker-compose.ymlkonfigurācijas faila versiju . Nākamajā rindā ir norādīti pakalpojumi vai, citiem vārdiem sakot, nodrošināmie konteineri.

services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app

Ņemiet vērā, ka katram pakalpojumam servicesblokā ir noteikta atslēga . Šeit norādītais nosaukums vēlāk tiks izmantots, lai atsauktos uz šo konkrēto konteineru. Ņemiet vērā arī to, ka phpkonfigurācijā mēs definējam attēlu, kas tiek izmantots konteinera palaišanai (šis ir attēls, ko mēs izveidojām iepriekš). Mēs arī definējam apjoma kartēšanu.

volumes:
  - ./:/app

Tas liek docker-composekartēt pašreizējo direktoriju ( ./) ar /appdirektoriju konteinera iekšpusē. Pēdējā rindiņā /appkā darba direktoriju tiek iestatīta mape konteinerā, kas nozīmē, ka šī ir mape, kurā pēc noklusējuma tiek izpildītas visas konteinerā esošās nākamās komandas.

Tagad mēs varam sakārtot savus konteinerus.

cd ~/docker/app
docker-compose up -d

Varat palaist šādu komandu, lai pārliecinātos, ka PHP konteiners ir izpildīts:

docker ps

Kā izpildīt komandas konteineros

Joprojām appmapē mēs varam palaist jebkuru komandu noteiktā pakalpojuma konteinerā ar docker-composekomandas palīdzību.

docker-compose exec [service] [command]

[service]Vietturis norāda uz servisa atslēgu. Mūsu gadījumā tas bija php. Palaidīsim komandu konteinerā, lai pārbaudītu mūsu PHP versiju.

docker-compose exec php php -v

Jūs redzēsit šādu izvadi.

PHP 7.1.14 (cli) (built: Feb  7 2018 00:40:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

Nginx konteinera konfigurēšana

Tāpat kā PHP konteineram, mums ir jāizveido pielāgots attēls tīmekļa serverim. Bet šajā gadījumā mums vienkārši ir jānodrošina mūsu konfigurācija virtual host. Pārliecinieties, ka jums ir iekšā mūsu WORKING_DIRun radīt Dockerfileiekšpusē nginxmapi:

cd ~/docker
touch nginx/Dockerfile

Tagad ievietojiet tajā šādu saturu Dockerfile:

FROM nginx:1.13.8-alpine
COPY ./default.conf /etc/nginx/conf.d/default.conf

Mēs izmantojam noklusējuma Nginx attēlu, kura pamatā ir Alpine. Šajā Docker failā mēs vienkārši kopējam konfigurācijas failu mūsu lietojumprogrammas iestatījumos. Pirms šī attēla izveides izveidojiet konfigurācijas failu.

touch nginx/default.conf

Tagad aizpildiet to ar šo saturu.

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /app;
    index index.php;

    #server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Ņemiet vērā, ka fastcgi_pass php:9000rindā mēs atsaucamies uz PHP konteineru pēc tā nosaukuma konfigurācijas faila serviceblokā docker-compose.yml. Iekšēji docker-composeizveido tīklu un piešķir pakalpojuma nosaukumu kā resursdatora nosaukumu katram definētajam pakalpojumam. Tagad mēs varam izveidot Nginx attēlu.

docker build -t vultr-nginx nginx/

Atjaunināšana docker-compose.yml

Tagad atjauniniet app/docker-compose.ymlfailu.

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app
  web:
    image: vultr-nginx
    volumes:
      - ./:/app
    depends_on:
      - php
    ports:
      - 80:80

Esam tikai pievienojuši jaunu pakalpojumu. Konfigurācija ir gandrīz tāda pati, izņemot tālāk norādīto.

depends_on:
  - php
ports:
  - 80:80

Kad Nginx konteineram ir nepieciešams pilnībā inicializēt PHP pakalpojumu, mēs piespiežam šo depends_onopciju. portsKonfigurācijas atslēga kartes resursdatora ostas uz konteineru ostas, šeit mēs kartētu ostas 80uzņēmējā uz ostu 80konteinerā.

Tagad izveidot failu sauc index.phpiekšpusē appmapi un nodot šādus tajā.

<?php phpinfo();

Pārliecinieties, vai portam 80var piekļūt, izmantojot ugunsmūri, un izpildiet tālāk norādītās darbības.

cd ~/docker/app
docker-compose up -d

Vēlreiz vēlreiz pārbaudiet, vai pakalpojums ir pieejams.

docker ps

Atveriet pārlūkprogrammu un piekļūstiet [vultr-instance-ip]. Varat uzzināt savu Vultr instances IP adresi, izpildot tālāk norādīto.

hostname -I

Jūs redzēsit PHP informācijas lapu.

MySQL konteinera konfigurēšana

Oficiālais MySQL attēls ļauj konfigurēt konteineru, izmantojot vienkāršus vides mainīgos. To var izdarīt, izmantojot environmentopciju pakalpojumu bloka definīcijā. Atjauniniet ~/docker/app/docker-compose.ymlfailu uz tālāk norādīto.

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app
  web:
    image: vultr-nginx
    volumes:
      - ./:/app
    depends_on:
      - php
    ports:
      - 80:80
  mysql:
    image: mysql:5.7.21
    volumes:
      - ./:/app
      - dbdata:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=world
      - MYSQL_ROOT_PASSWORD=root
    working_dir: /app
volumes:
  dbdata:

Tagad datubāzei esam definējuši jaunu pakalpojumu. Ievērojiet līniju dbdata:/var/lib/mysql. Tādējādi konteinera ceļš tiek /var/lib/mysqlpievienots pastāvīgam sējumam, ko pārvalda Docker, tādējādi datu bāzes dati saglabājas arī pēc konteinera noņemšanas. Šis apjoms ir jādefinē augstākā līmeņa blokā, kā redzat faila beigās.

Pirms jaunās konfigurācijas organizēšanas lejupielādēsim MySQL datu bāzes paraugu. Oficiālais MySQL dokumentācijā sniedz dažus paraugu datu bāzes. Mēs izmantosim labi zināmo pasaules datu bāzi. Šī datu bāze nodrošina valstu un pilsētu sarakstu. Lai lejupielādētu šo paraugu, mūsu lietotņu mapē izpildiet tālāk norādītās darbības.

curl -L http://downloads.mysql.com/docs/world.sql.gz -o world.sql.gz
gunzip world.sql.gz

Tagad organizēsim mūsu konteinerus.

docker-compose up -d

Kā jūs, iespējams, jau pamanījāt, docker-compose upkomanda palaiž tikai tos konteinerus, kas vēl nav startēti. Tas pārbauda atšķirības starp jūsu docker-compose.ymlfailu un pašreizējo darbojošos konteineru konfigurāciju.

Vēlreiz pārbaudiet, vai MySQL konteiners ir palaists.

docker ps

Tagad aizpildiet pasaules datu bāzi.

docker-compose exec -T mysql mysql -uroot -proot world < world.sql

Varat pārbaudīt, vai datu bāze ir aizpildīta, atlasot datus tieši no datu bāzes. Vispirms piekļūstiet MySQL uzvednei konteinerā.

docker-compose exec mysql mysql -uroot -proot world

MySQL uzvednē izpildiet tālāk norādīto.

select * from city limit 10;

Jūs redzēsit pilsētu sarakstu. Tagad aizveriet MySQL uzvedni.

mysql> exit

Mūsu lietojumprogrammas izveide

Tagad, kad visi nepieciešamie konteineri ir izveidoti un darbojas, mēs varam koncentrēties uz mūsu lietojumprogrammas paraugu. Atjauniniet app/index.phpfailu uz tālāk norādīto.

<?php

$pdo = new PDO('mysql:host=mysql;dbname=world;charset=utf8', 'root', 'root');

$stmt = $pdo->prepare("
    select city.Name, city.District, country.Name as Country, city.Population
    from city
    left join country on city.CountryCode = country.Code
    order by Population desc
    limit 10
");
$stmt->execute();
$cities = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Vultr Rocks!</title>
</head>
<body>
    <h2>Most Populous Cities In The World</h2>
    <table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Country</th>
            <th>District</th>
            <th>Population</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($cities as $city): ?>
            <tr>
                <td><?=$city['Name']?></td>
                <td><?=$city['Country']?></td>
                <td><?=$city['District']?></td>
                <td><?=number_format($city['Population'], 0)?></td>
            </tr>
        <?php endforeach ?>
    </tbody>
    </table>
</body>
</html>

Ja piekļūstat [vultr-instance-ip]tīmekļa pārlūkprogrammā, jūs redzēsit pasaules visvairāk apdzīvoto pilsētu sarakstu. Apsveicam, jūs esat izvietojis pilnībā strādājošu PHP lietojumprogrammu, izmantojot docker.

Secinājums

Šajā apmācībā es soli pa solim parādīju, kā konfigurēt pilnībā strādājošu PHP lietojumprogrammu. Mēs izveidojām pielāgotus attēlus PHP un Nginx un konfigurējām docker-compose, lai sakārtotu mūsu konteinerus. Neskatoties uz to, ka šis iestatījums ir ļoti vienkāršs un vienkāršs, tas atspoguļo reālu dzīves scenāriju.

Šajā rokasgrāmatā mēs esam izveidojuši un atzīmējuši savus attēlus lokāli. Lai iestatīšana būtu elastīgāka, varat nosūtīt šos attēlus uz doka reģistru . Varat pārsūtīt uz oficiālo doku reģistru vai pat iestatīt savu doku reģistru. Jebkurā gadījumā tas ļaus jums izveidot attēlus vienā resursdatorā un izmantot tos citā.

Lai iegūtu sīkāku informāciju par lietošanu docker-compose, skatiet oficiālo dokumentāciju .

Atkarībā no lietojumprogrammas prasībām un izmantotā PHP ietvara, iespējams, vēlēsities pievienot citus paplašinājumus. To var viegli izdarīt, mainot Dockerfileizmantoto, lai izveidotu mūsu pielāgoto PHP attēlu. Tomēr dažiem paplašinājumiem ir nepieciešamas papildu atkarības, lai tos instalētu konteinerā. Lai pārskatītu katra paplašinājuma pamatprasības, skatiet PHP oficiālajā dokumentācijā esošo paplašinājumu sarakstu.


Lūk, kā pārbaudīt Hyper-V konteinerus sistēmā Windows 10 Insider

Lūk, kā pārbaudīt Hyper-V konteinerus sistēmā Windows 10 Insider

Microsoft jaunā emuāra ziņojumā ir paskaidrojusi, kā Windows Insiders var pārbaudīt Hyper-V konteinerus operētājsistēmā Windows 10 — jauns virtualizācijas risinājums, kas ļauj lietojumprogrammām darboties, neietekmējot pārējo operētājsistēmu.

Kā instalēt Harbor operētājsistēmā CentOS 7

Kā instalēt Harbor operētājsistēmā CentOS 7

Harbour ir atvērtā pirmkoda uzņēmuma klases reģistra serveris, kas glabā un izplata Docker attēlus. Harbour paplašina atvērtā koda Docker Distribution b

Instalējiet Rancher OS, izmantojot iPXE

Instalējiet Rancher OS, izmantojot iPXE

Rancher OS ir ļoti viegla Linux izplatīšana, kas veidota, izmantojot Docker. Pati OS sver aptuveni 20 MB. Šī apmācība palīdzēs jums sākt darbu

Operētājsistēmā CoreOS iestatiet savu Docker reģistru

Operētājsistēmā CoreOS iestatiet savu Docker reģistru

Mēs visi zinām un mīlam Docker — platformu lietojumprogrammu konteineru izveidei, pārvaldībai un izplatīšanai vairākās iekārtās. Docker Inc sniedz pakalpojumu t

Docker-compose instalēšana operētājsistēmā CoreOS

Docker-compose instalēšana operētājsistēmā CoreOS

Šajā rakstā ir paskaidrots, kā instalēt docker-compose operētājsistēmā CoreOS. Operētājsistēmā CoreOS mape /usr/ ir nemainīga, tāpēc standarta /usr/local/bin ceļš nav pieejams.

Instalējiet Rancher operētājsistēmā CentOS 7

Instalējiet Rancher operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Ievads Rancher ir atvērtā pirmkoda platforma konteineru darbināšanai un privāta konteineru pakalpojuma izveidei. Rancher ir bāze

Instalējiet Docker CE uz Ubuntu 18.04

Instalējiet Docker CE uz Ubuntu 18.04

Ievads Docker ir lietojumprogramma, kas ļauj izvietot programmas, kas tiek darbinātas kā konteineri. Tas tika uzrakstīts populārajā Go programmēšanas valodā

Izveidojiet Docker Swarm operētājsistēmā Alpine Linux 3.9.0

Izveidojiet Docker Swarm operētājsistēmā Alpine Linux 3.9.0

Ievads Šajā rokasgrāmatā ir parādīts, kā izveidot un konfigurēt Docker spietu, izmantojot vairākus Alpine Linux 3.9.0 serverus un Portainer. Lūdzu, ņemiet vērā, ka

Izvietojiet PHP lietojumprogrammu, izmantojot Docker-compose

Izvietojiet PHP lietojumprogrammu, izmantojot Docker-compose

PHP lietojumprogrammas parasti veido tīmekļa serveris, relāciju datu bāzes sistēma un pats valodas tulks. Šajā apmācībā mēs izmantosim iespēju

Slodzes līdzsvars ar Docker

Slodzes līdzsvars ar Docker

Palaižot tīmekļa lietojumprogrammu, jūs parasti vēlaties maksimāli izmantot savus resursus, nepārvēršot programmatūru, lai izmantotu vairākpavedienu o

Izvietojiet Node.js lietojumprogrammu, izmantojot Docker

Izvietojiet Node.js lietojumprogrammu, izmantojot Docker

Šajā rakstā tiks parādīts, kā Docker konteinerā izvietot savu Node lietojumprogrammu. Piezīme. Šajā apmācībā tiek pieņemts, ka esat instalējis un lasījis Docker

Docker CE instalēšana operētājsistēmā CentOS 7

Docker CE instalēšana operētājsistēmā CentOS 7

Docker konteinera tehnoloģija ļauj palaist lietojumprogrammas noteiktā un izolētā vidē. Docker Community Edition (CE) ir jaunais nosaukums fre

Izvietojiet Kubernetes ar Kubeadm operētājsistēmā CentOS 7

Izvietojiet Kubernetes ar Kubeadm operētājsistēmā CentOS 7

Pārskats Šis raksts ir paredzēts, lai palīdzētu jums ātri izveidot un palaist Kubernetes kopu, izmantojot kubeadm. Šajā rokasgrāmatā tiks izvietoti divi serveri

Docker instalēšana operētājsistēmā CentOS 7

Docker instalēšana operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Docker ir lietojumprogramma, kas ļauj izvietot programmatūru virtuālos konteineros. Tas bija rakstīts programmā Go

Docker CE instalēšana operētājsistēmā Debian 9

Docker CE instalēšana operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Ievads Docker ir lietojumprogramma, kas ļauj izvietot programmatūru virtuālos konteineros. Tas bija rakstīts G

Sāciet darbu ar SQL Server 2017 (MS-SQL) sistēmā CentOS 7 ar Docker

Sāciet darbu ar SQL Server 2017 (MS-SQL) sistēmā CentOS 7 ar Docker

Priekšnosacījumi Docker engine 1.8+. Vismaz 4 GB diska vietas. Vismaz 4 GB RAM. 1. darbība. Docker instalēšana Lai instalētu SQL-Server, Docker mus

Sticky sesija ar Docker Swarm (CE) uz Debian 9

Sticky sesija ar Docker Swarm (CE) uz Debian 9

Vai izmantojat citu sistēmu? Ievads Docker Swarm pārvērš jūsu individuālos serverus par datoru kopu; mērogošanas atvieglošana, augsta pieejamība un

Divi Docker grafiskās pārvaldības rīki: DockerUI un Shipyard

Divi Docker grafiskās pārvaldības rīki: DockerUI un Shipyard

Izmantojot lietojumprogrammu Vultr Docker, varat viegli izvietot Docker savā Vultr servera instancē. Tikmēr jūs varat atvieglot Docker pārvaldības uzdevumu

Instalējiet Rancher Server operētājsistēmā RancherOS

Instalējiet Rancher Server operētājsistēmā RancherOS

Pārskats RancherOS ir neticami viegla operētājsistēma (tikai aptuveni 60 MB), kas izmanto sistēmas Docker dēmonu kā PID 0 sistēmas pakalpojumu darbināšanai.

Darba sākšana ar Kubernetes operētājsistēmā CentOS 7

Darba sākšana ar Kubernetes operētājsistēmā CentOS 7

Kubernetes ir Google izstrādāta atvērtā pirmkoda platforma konteineru lietojumprogrammu pārvaldībai serveru klasterī. Tas balstās uz desmitgadi un

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk