Installa Sentry tramite Docker su Ubuntu 16.04
Usi un sistema diverso? Introduzione Sentry è una soluzione open source per il monitoraggio degli errori. Sentry tiene traccia delle eccezioni e di altri messaggi utili
Conosciamo e amiamo tutti Docker, una piattaforma per creare, gestire e distribuire contenitori di applicazioni su più macchine. Docker Inc. fornisce un servizio per ospitare container open source da scaricare (o estrarre) come un repository git noto come "Docker Registry". Pensalo come un GitHub per container Docker.
Ma cosa succede se si desidera ospitare il proprio registro separato da quello pubblico? Bene, Docker Inc. ha aperto la propria applicazione di registro su GitHub.
Questo tutorial ti guiderà attraverso il processo di configurazione di un registro Docker privato utilizzando CoreOS su un nuovo VPS.
Non passeremo un sacco di tempo a esaminare esattamente ciò che Docker e CoreOS possono fare, poiché non rientra nell'ambito di questo tutorial. In sostanza, CoreOS è progettato per enormi cluster di server, è piccolo, veloce e ottiene automaticamente regolari aggiornamenti di sicurezza. Il suo file system di root è anche di sola lettura, il che significa che è necessario utilizzare Docker per eseguire qualsiasi tipo di software non incluso con l'installazione di base.
Questo rende Core OS un sistema host perfetto per Docker!
Docker Inc. ha fornito il Registro di sistema come immagine di livello superiore, ciò significa che possiamo eliminarlo con un semplice:
docker pull registry
Questo può richiedere alcuni minuti a seconda della velocità di connessione.
Un vantaggio di essere un'immagine di livello superiore significa anche che riceve supporto e aggiornamenti regolari.
Ora proviamo il registro. Possiamo creare un nuovo contenitore usando l'immagine del registro:
docker run -p 5000:5000 -d --name=basic_registry registry
Per coloro che non hanno usato Docker troppo, la -p
bandiera rappresenta PORT
, il che significa che stiamo esponendo la porta 5000 dal contenitore alla porta host 5000.
Il -d
flag sta per daemon
, questo farà funzionare il container in background e non stamperà l'output nella sessione SSH corrente, vogliamo anche nominare questo container di test di base usando l' --name
opzione in modo da poterlo gestire facilmente in un secondo momento.
Assicurarsi che il contenitore del registro di base sia in esecuzione utilizzando docker ps
. L'output dovrebbe essere simile a:
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
Inoltre, visita http://YOUR_IP:5000
nel tuo browser Web e dovresti ricevere un messaggio come il seguente:
"docker-registry server (dev) (v0.8.1)"
Notare la parola
dev
tra parentesi. Ciò significa che il server sta attualmente eseguendo la configurazione dev. Vedremo presto altre configurazioni.
Ora hai il tuo registro container (molto semplice) in esecuzione! Ma non abbiamo ancora finito.
Forse vuoi mantenere questo privato da occhi indiscreti, o forse archiviare le tue immagini su Amazon S3 invece di archiviazione locale. Esaminiamo le varie opzioni di configurazione nella sezione successiva.
Prima di andare avanti, uccidiamo il contenitore di test in modo che non ci imbattiamo in porte in conflitto.
docker kill basic_registry
Esistono due modi in cui possiamo passare la configurazione al registro Docker. Un modo è passare le variabili di ambiente a un nuovo contenitore e l'altro è aggiungere un file di configurazione.
Ecco alcune delle opzioni di configurazione comuni che utilizzeremo:
loglevel
- La quantità minima di informazioni per accedere alla console. L'impostazione predefinita è info
.standalone
- Questo registro dovrebbe agire da solo? (Non interrogare mai il registro pubblico.) L'impostazione predefinita è true
.index_endpoint
- Se non autonomo, quale altro indice interrogheremo? Predefinito index.docker.io
.cache
e cache_lru
- Opzioni relative all'utilizzo di una cache Redis per file di piccole dimensioni, di cui parleremo più avanti.storage
- Quale backend di archiviazione dovremmo usare per questo server? (In questo tutorial useremo local).storage_path
- Se si utilizza l'archiviazione locale, quale directory dovremmo usare per conservare i file?Prima di iniziare a lavorare con la configurazione, abbiamo bisogno di un file di base con cui lavorare. Il file dal repository Docker Registry su GitHub funzionerà perfettamente:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
Il file deve essere salvato correttamente con un output come:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Grande! Ora possiamo modificare questo file per adattarlo alle nostre esigenze.
L'unico editor di testo fornito con Core OS è vim
, ma non preoccuparti se non l'hai mai usato prima, questo spiegherà passo dopo passo cosa modificare e come farlo.
vim config_sample.yml
Dopo aver aperto il file, premi il I
tasto e nell'angolo in basso a destra dovrebbe essere visualizzato: -- INSERT --
per la modalità di inserimento. Scorri fino alla fine del file usando i tasti freccia, dovresti vedere una sezione etichettata prod
.
Modificheremo le due linee, le modifiche sono di seguito
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Ciò che abbiamo fatto è cambiare la prod
configurazione per derivare dalla local
sezione anziché dalla s3
sezione. Quindi abbiamo sovrascritto il storage_path
per utilizzare il percorso /data
all'interno del nuovo contenitore.
Dopo aver verificato che tutte le modifiche sono corrette, premi ESC
per uscire dalla modalità di inserimento e digitare :wq
(questo significa scrivere le modifiche nel file ed uscire da VIM.)
Ora rinominiamo il file in just config.yml
mv config_sample.yml config.yml
Se desideri utilizzare redis per velocizzare il registro dei container, è semplice come estrarre un nuovo container dal registro pubblico e aggiungere qualche altra riga di configurazione.
Per prima cosa, tira l'immagine di livello superiore di Redis:
docker pull redis
Una volta che l'immagine è stata estratta correttamente, possiamo eseguirla e denominarla come abbiamo fatto con il registro dei test:
docker run -d --name registry-redis redis
Poiché redis è in memoria, non è necessario eseguire alcuna configurazione per esso, poiché lo collegheremo al contenitore del registro nei passaggi successivi.
Ancora una volta, assicurati che funzioni utilizzando 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
Ora riaprire config.yml
in vim
e accedere alla modalità di inserimento proprio come la prima volta che l'abbiamo modificata.
Aggiungi le seguenti righe sotto la prod
sezione, assicurandoti di rientrare correttamente. Questa volta stiamo solo aggiungendo cache
e 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
Le variabili di ambiente REDIS_PORT_6379_TCP_ADDR
e REDIS_PORT_6379_TCP_PORT
vengono passate al contenitore del registro al momento del collegamento con il contenitore Redis.
Con ciò, ora hai impostato un contenitore Redis che funzionerà di pari passo con il tuo contenitore di registro. Ora sulla costruzione del registro!
Abbiamo tutte le configurazioni impostate e pronte, ora abbiamo bisogno di costruire l'attuale contenitore del registro.
Fuoco fino vim Dockerfile
a creare una nuova Dockerfile. Accedi alla modalità di inserimento e segui le modifiche seguenti.
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
Quello che abbiamo fatto sopra è essenzialmente estendere l'immagine del registro in modo che utilizzi il nostro file di configurazione e le nostre impostazioni. Un file Docker è un insieme di istruzioni di compilazione che Docker può leggere e compilare. Se vuoi saperne di più sui Dockerfile e sulla loro sintassi, dai un'occhiata alla documentazione ufficiale del sito Docker.
Successivamente è necessario creare il contenitore per l'uso.
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
Ora siamo pronti per correre!
Creiamo una directory sul nostro sistema host da montare nel contenitore come /data
volume.
mkdir registry-data
Ora possiamo creare un nuovo contenitore. Se si prevede di utilizzare la cache Redis, utilizzare il secondo comando di seguito.
# 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
Per assicurarsi che il server funzioni correttamente, visitare http://YOUR_IP:5000
. Vedrai il seguente messaggio:
"docker-registry server (prod) (v0.8.1)"
Nota il (prod)
significato delle nostre modifiche alla configurazione hanno avuto successo!
Ora che abbiamo il nostro registro in esecuzione, vogliamo che il client Docker sui nostri computer locali inizi a usarlo. Di solito useresti il comando:, docker login
ma per il nostro uso, dobbiamo aggiungere un altro argomento al comando login:
docker login YOUR_IP:5000
Inserisci un nome utente e una password (pensa a questo come creare un nuovo account) e ignora il messaggio che indica che devi attivarlo.
Quindi, estraiamo un'immagine stock e inseriamola nel nostro repository.
# 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
Se tutto procede correttamente, il messaggio finale dovrebbe essere simile a:
Pushing tag for rev [a9eb17255234] on
Congratulazioni! Hai configurato il tuo repository docker personale.
Ecco alcune idee su come migliorare il tuo nuovo registro privato:
Usi un sistema diverso? Introduzione Sentry è una soluzione open source per il monitoraggio degli errori. Sentry tiene traccia delle eccezioni e di altri messaggi utili
Panoramica RancherOS è un sistema operativo incredibilmente leggero (solo circa 60 MB) che esegue un demone Docker di sistema come PID 0 per lesecuzione dei servizi di sistema
Harbour è un server di registro open source di classe enterprise che archivia e distribuisce immagini Docker. Harbour estende la distribuzione Docker open source b
Introduzione Questa guida ti mostrerà come creare e configurare uno sciame Docker utilizzando più server Alpine Linux 3.9.0 e Portainer. Si prega di essere consapevoli di ciò
Usando un sistema diverso? Docker è unapplicazione che consente di distribuire programmi eseguiti come contenitori. È stato scritto nel popolare programma Go
Questo articolo mostra come distribuire lapplicazione Node in un contenitore Docker. Nota: in questa esercitazione si presuppone che Docker sia installato e letto
Usi un sistema diverso? Introduzione Rancher è una piattaforma open source per lesecuzione di container e la creazione di un servizio di container privato. Rancher è base
Panoramica Questo articolo ha lo scopo di aiutarti a far funzionare un cluster Kubernetes con kubeadm in pochissimo tempo. Questa guida distribuirà due server, su
Questo articolo spiega come installare docker-compose su CoreOS. In CoreOS, la cartella / usr / è immutabile, quindi il percorso standard / usr / local / bin non è disponibile per
I contenitori LXC (contenitori Linux) sono una funzionalità del sistema operativo in Linux che può essere utilizzata per eseguire più sistemi Linux isolati su un singolo host. thes
Introduzione Docker è unapplicazione che ci consente di distribuire programmi eseguiti come contenitori. È stato scritto nel popolare linguaggio di programmazione Go
Kubernetes è una piattaforma open source sviluppata da Google per la gestione di applicazioni containerizzate in un cluster di server. Si basa su un decennio e
Usi un sistema diverso? Introduzione Docker Swarm trasforma i singoli server in un cluster di computer; facilitazione del ridimensionamento, alta disponibilità an
Questo tutorial spiega le basi per iniziare con Docker. Presumo che tu abbia già installato Docker. I passaggi di questo tutorial funzioneranno su un
Quando si esegue unapplicazione Web, in genere si desidera ottenere il massimo dalle proprie risorse senza dover convertire il software per utilizzare il multithreading o
La tecnologia del contenitore Docker consente di eseguire applicazioni in un ambiente specifico e isolato. Docker Community Edition (CE) è il nuovo nome per il fre
Prerequisiti Docker engine 1.8+. Minimo 4 GB di spazio su disco. Minimo 4 GB di RAM. Passaggio 1. Installa Docker Per installare SQL-Server, Docker mus
Usi un sistema diverso? Introduzione Docker è unapplicazione che consente la distribuzione di software allinterno di contenitori virtuali. È stato scritto nel G
Usi un sistema diverso? Introduzione Rancher è una piattaforma open source per lesecuzione di container e la creazione di un servizio di container privato. Rancher è base
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.