Docker Dosyasından Docker Örneği Nasıl Çalıştırılır?

Docker Dosyasindan Docker Ornegi Nasil Calistirilir



Docker, konteynerli bir ortamda uygulamaları oluşturmak, test etmek, dağıtmak ve göndermek için evrensel olarak kullanılan, çok sevilen bir açık platformdur. Docker, işletim sistemi sanallaştırma düzeyini kullanır ve Docker kapsayıcıları, görüntüleri, ağları ve Docker birimi gibi farklı bileşenleri destekler.

Docker kapsayıcıları, Docker görüntüsünü kullanarak programı, yapılandırma ayarlarını ve bağımlılıkları paketleyen Docker platformunun temel bileşenlerinden biridir. Docker görüntüsü, bir uygulamanın nasıl kapsayıcıya alınacağı konusunda kapsayıcıya rehberlik eden basit bir kapsayıcı şablonu veya anlık görüntüsüdür. Bu görüntüler çoğunlukla resmi Docker hub kayıt defterinde bulunur. Kullanıcılar bu görselleri Dockerfile kullanarak proje gereksinimlerine göre de tasarlayabilirler.

Bu blog şunları açıklayacaktır:







Docker dosyası nedir?

Docker dosyası, Docker konteynerinin temel yapısını tanımlayan komutları ve talimatları içeren normal bir metin dosyasıdır. Bu talimatlar terminalde herhangi bir dosya olmadan yürütülebilir ancak her komutun birbiri ardına çalıştırılması yoğun ve karmaşık bir iştir. Dockerfile, geliştiricilerin tüm gereksinimleri ve talimatları tek bir dosyada belirtmesini kolaylaştırır. Bu dosya daha sonra Docker görüntüsü olan konteyner şablonunu oluşturmak için kullanılacaktır. Bundan sonra, örneği Docker kapsayıcısında başlatmak için docker görüntüsü yürütülür.



Dockerfile'ın Temel Komutları

Container'ın temel anlık görüntüsünü tanımlamak için kullanılan Dockerfile'ın bazı temel komutları aşağıda tablo halinde listelenmiştir:



Komutlar Tanım
İTİBAREN İTİBAREN Container şablonunun temel görüntüsünü tanımlamak için ” komutu kullanılır. Bu görüntüler resmi Docker kayıt defteri Docker Hub'dan alınmıştır.
BAKIMCI BAKIMCI ” komutu, Docker imajını oluşturan yazar (Ad ve E-posta) bilgilerini tanımlar.
İŞ YÖNÜ Container mimarisine alınmış bir uygulamanın çalışma dizinini belirtir.
KOPYALA Kaynak ve yapılandırma dosyalarını ana bilgisayar sisteminden Docker konteynerinin belirtilen yoluna kopyalamak için kullanılır.
EKLEMEK EKLEMEK ' komutu ' komutuna benzer KOPYALA ” komutunu kullanır, ancak aynı zamanda dosyayı URL'den GitHub deposundan konteyner yoluna gibi konteyner yoluna eklemek için uzak URL'yi de destekler.
KOŞMAK KOŞMAK ” komutları kapta çalıştırmak için kullanılır. Dockerfile'da çoğunlukla konteyner içindeki ekstra bağımlılıkları yönetmek ve kurmak için kullanılır.
CMD CMD ” Docker konteynerlerinin varsayılan noktalarını tanımlar. Temel olarak “çalıştırılabilir dosyaları ve varsayılan parametreleri” tanımlar. GİRİŞ NOKTASI ”.
GİRİŞ NOKTASI GİRİŞ NOKTASI ” komutu aynı zamanda Docker konteynerinin çalıştırılabilir dosyalarını ayarlamak için de kullanılır. Temel olarak her zaman bir kapta kullanılan varsayılan uygulamaları ayarlar. ENTRYPOINT komutu Docker dosyasında da bir kez kullanılır.
KULLANICI Bu komut, Container'daki komutları yürütmek üzere UID'yi (kullanıcı adı) ayarlamak için kullanılır
HACİM HACİM ” komutu, harici birimi (dosya sistemi) bir konteynere bağlamak veya monte etmek için kullanılır.
ENV ENV ” komutu, konteynerin ortam değişkenlerini ayarlamak için kullanılır.
ARG ARG ”, kabın içindeki argümanları iletmek için kullanılır.
ORTAYA ÇIKARMAK ORTAYA ÇIKARMAK ” komutu, konteynerin yürütüleceği açık bağlantı noktalarını belirtir.
İNŞAATTA Temel görüntüdeki talimatları okur ancak bu talimatları aşağı akış görüntüsü aracılığıyla tetikler.
ETİKET ETİKET ”, konteyner anlık görüntüsünün meta verilerini belirtmek için kullanılır.

Docker'daki bir Docker dosyasından Docker Örneği Nasıl Çalıştırılır?

Dockerfile kullanarak bir Docker örneğini veya kapsayıcısını çalıştırmak için önce bir Dockerfile oluşturun. Ardından Dockerfile'ı kullanarak konteynerin temel anlık görüntüsünü oluşturun. Bundan sonra Docker örneğini başlatmak için anlık görüntüyü çalıştırın.





Gösterim için aşağıdaki talimatları izleyin.

Adım 1: Docker dosyası oluşturun

İlk önce bir Docker dosyası oluşturun. Dockerfile'ın herhangi bir dosya uzantısına sahip olmadığını unutmayın. Bundan sonra aşağıdaki komutları dosyaya yapıştırın:



golang'dan: 1.8

İŞ YÖNÜ / Gitmek / kaynak / uygulama

main.go'yu KOPYALAYIN.

KOŞ git inşa et Web sunucusu .

ORTAYA ÇIKARMAK 8080 : 8080

GİRİŞ NOKTASI [ './Web sunucusu' ]

Adım 2: Program Dosyasını Oluşturun

Daha sonra “adlı yeni bir dosya oluşturun. ana.go ” basit Golang programını içerir. Bu amaçla aşağıdaki programı dosyaya yapıştırın:

ana paket
içe aktarmak (
'fmt'
'kayıt'
'net/http'
)

işlev işleyicisi ( İçinde http.ResponseWriter, r * http.İstek ) {
fmt.Fprintf ( İçinde , 'Merhaba! LinuxHint Eğitimine Hoş Geldiniz' )
}
ana işlev ( ) {
http.HandleFunc ( '/' , işleyici )
günlük.Ölümcül ( http.ListenAndServe ( '0.0.0.0:8080' , sıfır ) )
}

3. Adım: Kapsayıcı Anlık Görüntüsü Oluşturun

Şimdi konteynerin Docker anlık görüntüsünü “” kullanarak oluşturun. docker build -t -f . ”:

Liman işçisi yapısı -T go-img -F Docker dosyası .

Yukarıdaki komutta “ -T ” seçeneği görselin adını veya etiketini ayarlar, “ -F ” seçeneği, Docker motorunun derleme bağlamını okuması gereken Docker dosyasının yolunu belirtir:

Görüntünün başarıyla oluşturulup oluşturulmadığını kontrol etmek için “ liman işçisi görüntüleri ' emretmek:

liman işçisi görüntüleri go-img

Çıktı, konteynerin anlık görüntüsünü Dockerfile'dan başarıyla oluşturduğumuzu gösteriyor:

Adım 4: Konteyneri Çalıştırmak için Anlık Görüntüyü Çalıştırın

Şimdi, yukarıdaki adımda oluşturulan konteynerin anlık görüntüsünü çalıştırarak Docker konteynerinde Docker örneğini başlatın:

liman işçisi koşusu -P 8080 : 8080 --isim devam etmek -D go-img

Yukarıdaki komutta “ -P ” seçeneği kapsayıcıyı “ üzerinde çalıştırır 8080 ' liman, ' -isim ” kapsayıcının adını ve “ -D ” seçeneği, kabı bağımsız modda çalıştırır (arka plan hizmeti):

Kapsayıcının yürütülüp yürütülmediğini doğrulamak için 'çalışan kapları' kullanarak listeleyin. Liman işçisi PS ' emretmek:

liman işçisi not

Şimdi şuraya gidin: http://localhost:8080 ”ve uygulamanın açık bağlantı noktasında çalışıp çalışmadığını doğrulayın:

Yukarıdaki çıktı, Docker örneğini Dockerfile kullanarak etkili bir şekilde başlattığımızı gösterir.

Docker Compose'da Docker dosyasından Örnek Nasıl Çalıştırılır?

Docker compose, Docker platformunun farklı konteynerlerde birden fazla örneği aynı anda çalıştırmamızı sağlayan bir diğer önemli eklentisidir. Kullanıcılar ayrıca Docker compose eklentisini kullanarak Docker örneğini Dockerfile'dan çalıştırabilir. Örnek olarak verilen adımları izleyin.

1. Adım: Dockerfile oluşturun

İlk önce bir Docker dosyası oluşturun. Örneğin, yukarıdaki bölümde kullanılan Dockerfile ve program dosyasının aynısını kullanıyoruz:

golang'dan: 1.8

İŞ YÖNÜ / Gitmek / kaynak / uygulama

main.go'yu KOPYALAYIN.

KOŞ git inşa et Web sunucusu .

ORTAYA ÇIKARMAK 8080 : 8080

GİRİŞ NOKTASI [ './Web sunucusu' ]

Adım 2: docker-compose.yml Dosyasını Oluşturun

Ardından, bir ' docker-compose.yml ” dosyasını açın ve aşağıdaki anahtar çiftlerini dosyaya kopyalayın:

sürüm: '3'

Hizmetler:

ağ:
inşa etmek: .
bağlantı noktaları:
- 8080 : 8080

Yukarıda belirtilen alıntıda:

  • Hizmetler Ayrı bir kapta yürütülecek oluşturma hizmetlerini belirtmek için kullanılır. Örnek olarak yalnızca bir hizmeti yapılandırdık “ ”Kodu temiz ve basit tutmak için.
  • inşa etmek ” anahtar çifti, derleme içeriğini Dockerfile'dan okumak için kullanılır. Burada docker, Dockerfile'daki talimatları okuyacak ve konteyneri buna göre oluşturacaktır.
  • limanlar ” tuşu, konteynerin yürütüleceği açık bağlantı noktalarını tanımlar.

3. Adım: Docker Örneğini Başlatın

Şimdi Docker örneğini “ liman işçisi oluşturma ' emretmek:

liman işçisi oluşturma -D

Doğrulama için, '' komutunu kullanarak çalışan oluşturma kapsayıcılarının listesini kontrol edin. liman işçisi-oluşturma ps ' emretmek:

liman işçisi oluşturma not

Çıktı şunu gösteriyor: “ 'hizmet' konumunda başarıyla yürütülüyor golangapp-web-1 ” konteyner:

Oluşturma hizmetinin açık bağlantı noktasına gidin ve programın yürütülüp yürütülmediğini doğrulayın. Aşağıdaki sonuç, Docker örneğini Dockerfile'dan Docker compose kullanarak başarıyla başlattığımızı gösterir:

Bunların hepsi Docker dosyasından docker örneğini çalıştırmakla ilgilidir.

Çözüm

Bir Docker örneğini Dockerfile'dan bir kapsayıcıda yürütmek için önce Dockerfile'ı oluşturun. Docker kapsayıcısının görüntüsünü veya şablonunu oluşturmak için dosyanın içine komutları ekleyin. Daha sonra “” seçeneğini kullanarak kapsayıcı görüntüsünü veya anlık görüntüsünü oluşturun. docker build -t -f . ' emretmek. Şimdi Docker örneğini başlatmak için konteyner görüntüsünü yürütün. Kullanıcılar ayrıca Docker örneğini Dockerfile'dan çalıştırmak için Docker oluşturmayı kullanabilir. Bu gönderide Docker dosyasından Docker örneğinin nasıl çalıştırılacağı gösterilmiştir.