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.
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. nodrošina lejupielādējamo (vai izvelkamo) atvērtā pirmkoda konteineru mitināšanas pakalpojumu, piemēram, git repozitoriju, kas pazīstams kā "Docker Registry". Padomājiet par to kā par GitHub Docker konteineriem.
Bet ko darīt, ja vēlaties mitināt savu reģistru, kas ir atdalīts no publiskā? Nu, Docker Inc. ir atvērta pirmkoda reģistra lietojumprogramma vietnē GitHub.
Šī apmācība palīdzēs jums izveidot privātu Docker reģistru, izmantojot CoreOS jaunā VPS.
Mēs netērēsim daudz laika, lai pārdomātu, ko tieši Docker un CoreOS spēj paveikt, jo tas neietilpst šīs apmācības ietvaros. Būtībā CoreOS ir paredzēts masveida serveru klasteriem, tas ir mazs, ātrs un automātiski saņem regulārus drošības atjauninājumus. Tās saknes failu sistēma ir arī tikai lasāma, kas nozīmē, ka jums ir jāizmanto Docker, lai palaistu jebkāda veida programmatūru, kas nav iekļauta pamata instalācijā.
Tas padara Core OS par ideālu Docker resursdatora sistēmu!
Docker Inc. ir nodrošinājis reģistru kā augstākā līmeņa attēlu, tas nozīmē, ka mēs varam to noņemt, veicot vienkāršu:
docker pull registry
This can take a few minutes depending on the connection speed.
Augstākā līmeņa attēla pluss nozīmē arī to, ka tas saņem regulāru atbalstu un atjauninājumus.
Tagad izmēģināsim reģistru. Mēs varam izveidot jaunu konteineru, izmantojot reģistra attēlu:
docker run -p 5000:5000 -d --name=basic_registry registry
Tiem, kuri nav izmantojuši Docker pārāk daudz, -pkarodziņš apzīmē PORT, kas nozīmē, ka mēs pakļaujam 5000. portu no konteinera uz resursdatora portu 5000.
-dKarogs nozīmē daemon, tas radīs konteiners darboties fonā un nevar drukāt izejas uz pašreizējo SSH sesiju, mēs arī vēlamies nosaukt šo pamata testa konteineru, izmantojot --nameiespēju, lai mēs varētu viegli pārvaldīt to vēlāk.
Pārliecinieties, vai jūsu pamata reģistra konteiners darbojas, izmantojot docker ps. Izvadei vajadzētu izskatīties līdzīgi:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
Apmeklējiet http://YOUR_IP:5000arī savā tīmekļa pārlūkprogrammā, un jums vajadzētu saņemt šādu ziņojumu:
"docker-registry server (dev) (v0.8.1)"
Notice the word
devin the parenthesis. This means that the server is currently running the dev config. We'll look over more configuration soon.
Tagad jums darbojas savs (ļoti vienkāršs) konteineru reģistrs! Bet mēs vēl neesam pabeiguši.
Varbūt vēlaties to aizsargāt no ziņkārīgo acīm vai saglabāt attēlus vietnē Amazon S3, nevis vietējā krātuvē. Nākamajā sadaļā apskatīsim dažādas konfigurācijas opcijas.
Pirms ejam tālāk, nogalināsim testa konteineru, lai nesanāktu konfliktējošās pieslēgvietās.
docker kill basic_registry
Ir divi veidi, kā mēs varam nodot konfigurāciju Docker reģistram. Viens veids ir vides mainīgo nodošana jaunam konteineram, bet otrs ir konfigurācijas faila pievienošana.
Šeit ir dažas no izplatītākajām konfigurācijas opcijām, kuras mēs izmantosim:
loglevel- Minimālais informācijas apjoms, kas jāpiesakās konsolē. Noklusējums ir info.standalone- Vai šim reģistram būtu jārīkojas pašam? (Nekad neprasa publisko reģistru.) Noklusējums ir true.index_endpoint- Ja ne atsevišķs rādītājs, kādu citu indeksu mēs pieprasīsim? Noklusējums index.docker.io.cacheun cache_lru- Opcijas, kas attiecas uz Redis kešatmiņas izmantošanu maziem failiem. Mēs to aplūkosim vēlāk.storage- Kādu krātuves aizmugursistēmu vajadzētu izmantot šim serverim? (Šajā apmācībā mēs izmantosim vietējo).storage_path - Ja izmantojat vietējo krātuvi, kurā direktorijā ir jāizmanto faili?Pirms sākam strādāt ar konfigurāciju, mums ir nepieciešams bāzes fails, ar kuru strādāt. Fails no Docker reģistra repozitorija vietnē GitHub darbosies lieliski:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
Fails ir veiksmīgi jāsaglabā ar tādu izvadi kā:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Lieliski! Tagad mēs varam modificēt šo failu, lai tas atbilstu mūsu vajadzībām.
Vienīgais teksta redaktors, kas tiek piegādāts kopā ar Core OS, ir vim, taču neuztraucieties, ja jūs to nekad iepriekš neesat izmantojis. Šeit soli pa solim tiks paskaidrots, ko rediģēt un kā to izdarīt.
vim config_sample.yml
Kad fails ir atvērts, nospiediet Iun apakšējā labajā stūrī vajadzētu parādīties: -- INSERT --ievietošanas režīmam. Ritiniet līdz faila apakšdaļai, izmantojot bulttaustiņus; jums vajadzētu redzēt sadaļu ar nosaukumu prod.
Mēs mainīsim abas rindiņas, izmaiņas ir norādītas zemāk
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Mēs esam mainījuši prodkonfigurāciju, lai to iegūtu no localsadaļas, nevis s3sadaļas. Pēc tam mēs pārrakstījām, storage_pathlai izmantotu ceļu /datajaunajā konteinerā.
Kad esat apstiprinājis, ka visas izmaiņas ir pareizas, nospiediet , ESClai izietu no ievietošanas režīma un ierakstiet :wq(tas nozīmē, ierakstiet izmaiņas failā un aizveriet vim).
Tagad pārdēvēsim failu uz tikai config.yml
mv config_sample.yml config.yml
Ja vēlaties izmantot redis, lai paātrinātu konteinera reģistru, tas ir tik vienkārši, kā izņemt jaunu konteineru no publiskā reģistra un pievienot vēl dažas konfigurācijas rindas.
Vispirms izvelciet Redis augšējā līmeņa attēlu:
docker pull redis
Kad attēls ir veiksmīgi izvilkts, mēs varam to palaist un nosaukt tāpat kā ar testa reģistru:
docker run -d --name registry-redis redis
Tā kā redis atrodas atmiņā, mums nav jāveic nekāda konfigurācija, jo mēs to saistīsim ar reģistra konteineru turpmākajās darbībās.
Vēlreiz pārliecinieties, ka tas darbojas, izmantojot docker ps:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
Tagad no jauna atvērtu config.ymlin vimun ievadiet ievietot režīmā, tāpat kā mēs pirmo reizi rediģēja to.
Pievienojiet tālāk norādītās rindiņas zem prodsadaļas, pārliecinieties, ka tās ir pareizi atkāpes. Šoreiz mēs tikai pievienojam cacheun cache_lru.
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
Vides mainīgie REDIS_PORT_6379_TCP_ADDRun REDIS_PORT_6379_TCP_PORTtiek nodoti reģistra konteineram pēc saistīšanas ar Redis konteineru.
Tādējādi tagad esat iestatījis Redis konteineru, kas darbosies roku rokā ar jūsu reģistra konteineru. Tagad pie reģistra izveides!
Mums ir iestatīta visa konfigurācija, un tagad mums ir jāizveido faktiskais reģistra konteiners.
Fire up vim Dockerfile, lai izveidotu jaunu Dockerfile. Ieejiet ievietošanas režīmā un izpildiet tālāk norādītos labojumus.
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
Tas, ko esam paveikuši iepriekš, būtībā ir paplašinājuši reģistra attēlu, lai tas izmantotu mūsu konfigurācijas failu un iestatījumus. Dockerfile ir veidošanas instrukciju kopums, ko Docker var lasīt un veidot. Ja vēlaties uzzināt vairāk par Dockerfiles un to sintaksi, skatiet oficiālo Docker vietnes dokumentāciju.
Tālāk mums ir jāizveido konteiners lietošanai.
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
Tagad esam gatavi skriet!
Izveidosim direktoriju mūsu resursdatora sistēmā, ko ievietot konteinerā kā /datasējumu.
mkdir registry-data
Tagad mēs varam izveidot jaunu konteineru. Ja plānojat izmantot Redis kešatmiņu, izmantojiet tālāk esošo 2. komandu.
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
Lai pārliecinātos, ka jūsu serveris darbojas pareizi, apmeklējiet http://YOUR_IP:5000. Jūs redzēsit šādu ziņojumu:
"docker-registry server (prod) (v0.8.1)"
Ņemiet vērā, (prod)ka mūsu konfigurācijas izmaiņas bija veiksmīgas!
Tagad, kad mums ir savs darbojošais reģistrs, mēs vēlamies, lai Docker klients mūsu vietējās iekārtās sāktu to lietot. Parasti jūs izmantotu komandu: docker login, bet mūsu lietošanai pieteikšanās komandai jāpievieno vēl viens arguments:
docker login YOUR_IP:5000
Ievadiet lietotājvārdu un paroli (domājiet par to kā par jauna konta izveidi) un ignorējiet ziņojumu, kurā teikts, ka tas ir jāaktivizē.
Pēc tam izvelkam krājuma attēlu un virzīsim to uz mūsu pašu krātuvi.
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
Ja viss notiek pareizi, galīgajam ziņojumam jābūt šādam:
Pushing tag for rev [a9eb17255234] on
Apsveicam! Jūs esat iestatījis savu docker repozitoriju.
Šeit ir dažas idejas, kā uzlabot savu jauno privāto reģistru:
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.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
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.
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.
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…
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.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
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.
Š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.
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