03. Docker Compose и Best Practice Docker, CI/CD и Gitlab CI. Вечерняя школа Слёрма по Kubernetes.
İçindekiler:
Çalışan bir Docker kapsayıcısına bağlanmak, kap içinde neler olduğunu görmek istediğinizde yardımcı olur. Docker kapsayıcısı beklendiği gibi çalışmazsa, kapsayıcıya yapıştırabilir veya kapsayıcıya bir kabuk alabilir ve
ps
veya
top
gibi komutları çalıştırabilirsiniz. Ayrıca, kapsayıcıya girebilir, yeni paketler yükleyebilir ve ondan yeni bir Docker görüntüsü oluşturabilirsiniz.
Bu öğreticide, kabın ana çalışan işlemine nasıl ekleneceğini ve çalışan bir kaba nasıl kabuk alınacağını açıklayacağız.
Bir Konteynere Bağlama
Bir kapsayıcıda birden çok işlem yürütmek mümkün olsa da, çoğu docker kapsayıcısı yalnızca tek bir işlem çalıştırır. Bir kapsayıcı başlatılırken yürütülen komut
ENTRYPOINT
ve / veya
RUN
komutu kullanılarak belirtilir.
docker attach
komutu terminalinizi çalışan konteynere eklemenizi sağlar. Bu, standart çıktıda ne yazıldığını gerçek zamanlı olarak görmek veya süreci etkileşimli olarak kontrol etmek istediğinizde kullanışlıdır.
attach
komutunun nasıl çalıştığını daha iyi anlamak için, resmi Nginx görüntüsünü kullanarak yeni bir ayrılmış Nginx kapsayıcısı çalıştıralım.
docker container run --name my_nginx -d -p 8080:80 nginx
-p 8080:80
seçeneği Docker'a konteynerin 8080 numaralı bağlantı noktasını ana makine üzerindeki 80 numaralı bağlantı noktasına bağlamasını söyler.
“My_nginx” konteynerinin çalıştığından emin olmak için kapları listeleyin:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e1c4974a8d8 nginx "nginx -g 'daemon of…" 3 minutes ago Up 2 seconds 0.0.0.0:8080->80/tcp my_nginx
Konteynır kimliğini veya adını kullanarak konteynere ekleyin:
docker container attach my_nginx
Kapsayıcıyı çalıştırdığınızda yürütülen nginx görüntüsünün varsayılan komutu
CMD
olarak ayarlanır.
attach
komutunu çalıştırdığınızda terminaliniz
nginx
işlemine eklenir.
Tarayıcınızda
127.0.0.1:8080
açın ve nginx işleminin çıktısını gerçek zamanlı olarak izleyebilirsiniz.
192.168.33.1 - - "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-" 192.168.33.1 - - "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.33.71:8080/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-"
Konteyner günlüklerine erişmek için
docker logs
komutunu kullanmayı tercih etmelisiniz.
Kaptan durdurmadan ayırmak için
CTRL-p
CTRL-q
tuş bileşimini kullanın.
CTRL-c
tuşuna basmak kabı durdurur.
Eklemekte olduğunuz çalışan işlemler girişi kabul ederse, ona talimatlar gönderebilirsiniz.
Bir Konteynere Kabuk Alın
docker exec
komutu, çalışan bir kapsayıcı içindeki komutları çalıştırmanıza izin verir.
exec
komutunun nasıl çalıştığını ve kap kabuğuna girmek için nasıl kullanılabileceğini görmek için, önce yeni bir kap başlatın. Resmi MySQL görüntüsünü kullanacağız:
docker container run --name my_mysql -d mysql
Bu, “my_mysql” adlı bir kap oluşturur.
Kapsayıcı içinde bir komut yürütmek için aşağıdaki komutu çalıştırın:
docker container exec -it my_mysql ls /var
-i
seçeneği etkileşimli anlamına gelir ve
-t
, Docker'a sahte bir TTY aygıtı
-t
söyler.
ls
komutu, kabın
/var
dizinindeki tüm dosyaları ve dizinleri listeler:
backups cache lib local lock log mail opt run spool tmp
Kabın bir kabuğunu almak için, yani kabın içine girmek için, kabuk ikili dosyasını yürüterek yeni bir kabuk oturumu başlatın. Görüntüde bulunan
sh
,
bash
veya başka bir kabuk kullanabilirsiniz.
Aşağıdaki komut, kapsayıcı içinde yeni bir Bash oturumu oluşturur:
docker container exec -it my_mysql /bin/bash
Komut isteminiz artık konteyner kabuğunda çalıştığınızı gösterecek şekilde değişecektir.
Buradan, komutları diğer herhangi bir Linux sunucusunda yaptığınız gibi çalıştırabilirsiniz. Örneğin, geçerli ortam değişkenlerinin bir listesini almak için
env
:
env
Çıktı şöyle görünecektir:
HOSTNAME=e0214d97e0fe MYSQL_ROOT_PASSWORD=my-secret-pw PWD=/ HOME=/root MYSQL_MAJOR=8.0 GOSU_VERSION=1.7 MYSQL_VERSION=8.0.17-1debian9 TERM=xterm SHLVL=1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin _=/usr/bin/env
Sonuç
docker exec
ve
docker attach
komutları, çalışan bir kapsayıcıya bağlanmanıza izin verir. Bir kapsayıcıya etkileşimli bir kabuk almak için yeni bir kabuk oturumu başlatmak üzere
exec
komutunu kullanın.
attach
komutu terminalinizi çalışan bir kaba bağlar.
Cortana`yı Microsoft Sağlık Hesabı`na nasıl bağlanır
Microsoft Health hesabınızı Windows 10`da Cortana`ya nasıl bağlayacağınızı öğrenin. Microsoft Band`taki etkinlik ilerlemesi.
Kindle Fire`ı Kablosuz Modda Windows Pc`ye nasıl bağlanır
Kindle Fire`ı kablosuz modda Pc`ye bağlamak kolaydır. Windows 10 tabletinize ES File Explorer uygulamasını kurun ve dosyalarınızı verimli bir şekilde yönetin.
Google haritası nasıl paylaşılır ve linke nasıl bağlanır?
Size bir Google Haritasını veya Google Haritalarını nasıl paylaşacağınızı öğreten bu kılavuza bakın ve amap.to dosyasını kullanarak bir Google Haritasına bağlanın.







