The Rise of Machines: Real World Applications of AI
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Všichni známe a milujeme Docker, platformu pro vytváření, správu a distribuci aplikačních kontejnerů na více počítačích. Docker Inc. poskytuje službu pro hostování kontejnerů s otevřeným zdrojovým kódem, které lze stáhnout (nebo stáhnout) jako úložiště git známé jako „Docker Registry“. Představte si to jako GitHub pro kontejnery Docker.
Ale co když chcete hostit svůj vlastní registr oddělený od veřejného? No, společnost Docker Inc. otevřela svou aplikaci Registry na GitHubu.
Tento tutoriál vás provede procesem nastavení soukromého registru Docker pomocí CoreOS na novém VPS.
Nebudeme trávit spoustu času procházením toho, co přesně Docker a CoreOS umí, protože to je mimo rozsah tohoto návodu. CoreOS je v podstatě navržen pro masivní serverové clustery, je malý, rychlý a automaticky dostává pravidelné aktualizace zabezpečení. Jeho kořenový souborový systém je také pouze pro čtení, což znamená, že ke spuštění jakéhokoli softwaru, který není součástí základní instalace, musíte použít Docker.
Díky tomu je Core OS dokonalým hostitelským systémem pro Docker!
Společnost Docker Inc. poskytla registr jako obraz nejvyšší úrovně, což znamená, že jej můžeme stáhnout pomocí jednoduchého:
docker pull registry
This can take a few minutes depending on the connection speed.
Výhodou obrazu nejvyšší úrovně je také pravidelná podpora a aktualizace.
Nyní otestujeme registr. Můžeme vytvořit nový kontejner pomocí obrazu registru:
docker run -p 5000:5000 -d --name=basic_registry registry
Pro ty, kteří Docker příliš nepoužívali, -ppříznak znamená PORT, což znamená, že zpřístupňujeme port 5000 z kontejneru na hostitelský port 5000.
-dVlajka znamená daemon, to způsobí, že kontejner běžet na pozadí a nelze tisknout výstup do aktuálního SSH, chceme také pojmenovat základní zkušební nádobu s použitím --namevolby, takže ji můžeme snadno spravovat později.
Ujistěte se, že váš základní kontejner registru běží pomocí docker ps. Výstup by měl vypadat podobně jako:
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
Navštivte také http://YOUR_IP:5000ve svém webovém prohlížeči a měli byste obdržet zprávu, jako je tato:
"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.
Nyní máte spuštěný svůj vlastní (velmi základní) registr kontejnerů! Ale ještě jsme neskončili.
Možná to chcete udržet v soukromí před zvědavýma očima, nebo možná ukládat své obrázky na Amazon S3 místo místního úložiště. V další části si projdeme různé možnosti konfigurace.
Než budeme pokračovat, zabijme testovací kontejner, abychom nenarazili na konfliktní porty.
docker kill basic_registry
Existují dva způsoby, jak předat konfiguraci do registru Docker. Jedním ze způsobů je předání proměnných prostředí do nového kontejneru a druhým je přidání konfiguračního souboru.
Zde je několik běžných možností konfigurace, které budeme používat:
loglevel- Minimální množství informací pro přihlášení do konzole. Výchozí je info.standalone- Měl by tento rejstřík jednat samostatně? (Nikdy se nedotazuje na veřejný registr.) Výchozí hodnota je true.index_endpoint- Pokud ne samostatný, jaký další index budeme dotazovat? Výchozí index.docker.io.cachea cache_lru- Možnosti týkající se použití mezipaměti Redis pro malé soubory, tím se dotkneme později.storage- Jaký backend úložiště bychom měli použít pro tento server? (V tomto tutoriálu budeme používat místní).storage_path - Pokud používáme místní úložiště, jaký adresář bychom měli použít k uchovávání souborů?Než začneme pracovat s konfigurací, potřebujeme základní soubor, se kterým budeme pracovat. Soubor z úložiště registru Docker na GitHubu bude fungovat dobře:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
Soubor by se měl úspěšně uložit s výstupem, jako je:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Skvělý! Nyní můžeme tento soubor upravit tak, aby vyhovoval našim potřebám.
Jediný textový editor, který je dodáván s Core OS, je vim, ale nebojte se, pokud jste jej nikdy předtím nepoužili, krok za krokem vám vysvětlí, co a jak upravit.
vim config_sample.yml
Jakmile budete mít soubor otevřený, stiskněte Ia v pravém dolním rohu by se mělo zobrazit: -- INSERT --pro režim vkládání. Přejděte úplně na konec souboru pomocí kláves se šipkami, měli byste vidět část označenou prod.
Budeme měnit dva řádky, změny jsou níže
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Udělali jsme změnu prodkonfigurace tak, aby byla odvozena od localsekce místo s3sekce. Potom jsme přepsali, storage_pathabychom použili cestu /datauvnitř nového kontejneru.
Jakmile se ujistíte, že jsou všechny změny správné, stisknutím ESCukončete režim vkládání a zadejte :wq(to znamená zapište změny do souboru a ukončete vim.)
Nyní přejmenujme soubor na just config.yml
mv config_sample.yml config.yml
Chcete-li použít redis k urychlení registru kontejnerů, je to stejně jednoduché jako stažení nového kontejneru z veřejného registru a přidání několika dalších řádků konfigurace.
Nejprve vytáhněte obrázek nejvyšší úrovně Redis:
docker pull redis
Jakmile je obraz úspěšně stažen, můžeme jej spustit a pojmenovat stejně jako u testovacího registru:
docker run -d --name registry-redis redis
Protože je redis v paměti, nemusíme pro něj provádět žádnou konfiguraci, protože jej propojíme s kontejnerem registru v pozdějších krocích.
Ještě jednou se ujistěte, že běží pomocí 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
Nyní znovu otevřít config.ymlv vima vstoupí vložka režimu, stejně jako poprvé jsme ho upravovat.
Přidejte následující řádky pod prodčást a ujistěte se, že jsou odsazeny správně. Tentokrát přidáváme pouze cachea 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
Proměnné prostředí REDIS_PORT_6379_TCP_ADDRa REDIS_PORT_6379_TCP_PORTjsou předány do kontejneru registru po propojení s kontejnerem Redis.
S tím máte nyní nastaven kontejner Redis, který bude fungovat ruku v ruce s vaším kontejnerem registru. Nyní k budování registru!
Veškerou konfiguraci máme nastavenou a připravenou, nyní musíme vytvořit skutečný kontejner registru.
Spusťte vim Dockerfilea vytvořte nový soubor Dockerfile. Vstupte do režimu vkládání a postupujte podle níže uvedených úprav.
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
To, co jsme udělali výše, je v podstatě rozšířit obraz registru tak, aby používal náš konfigurační soubor a nastavení. Dockerfile je sada instrukcí pro sestavení, které má Docker číst a sestavit. Pokud se chcete dozvědět více o Dockerfiles a jejich syntaxi, podívejte se na oficiální dokumentaci webu Docker.
Dále musíme postavit kontejner pro použití.
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
Nyní jsme připraveni běžet!
Vytvoříme adresář na našem hostitelském systému, který připojíme do kontejneru jako /datasvazek.
mkdir registry-data
Nyní můžeme roztočit nový kontejner. Pokud plánujete používat mezipaměť Redis, použijte 2. příkaz níže.
# 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
Chcete-li se ujistit, že váš server běží správně, navštivte http://YOUR_IP:5000. Zobrazí se následující zpráva:
"docker-registry server (prod) (v0.8.1)"
Všimněte si, že (prod)naše změny konfigurace byly úspěšné!
Nyní, když máme vlastní běžící registr, chceme, aby jej klient Docker na našich místních počítačích začal používat. Obvykle byste použili příkaz: docker login, ale pro naše použití musíme k příkazu login přidat ještě jeden argument:
docker login YOUR_IP:5000
Zadejte uživatelské jméno a heslo (představte si to jako vytvoření nového účtu) a ignorujte zprávu, která říká, že jej musíte aktivovat.
Dále vytáhneme obrázek ze skladu a posuneme ho do našeho vlastního úložiště.
# 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
Pokud vše funguje správně, konečná zpráva by měla vypadat takto:
Pushing tag for rev [a9eb17255234] on
Gratulujeme! Nastavili jste své vlastní úložiště dockerů.
Zde je několik nápadů, jak zlepšit svůj nový soukromý registr:
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více