CodeGym /Kurslar /Docker SELF /Konfiqurasiyalar və sirlər üzərində iş

Konfiqurasiyalar və sirlər üzərində iş

Docker SELF
Səviyyə , Dərs
Mövcuddur

6.1 docker config komandası

Docker konfiqurasiyalar və sirlər ilə işləmək üçün daxili mexanizmlər təqdim edir. Bu, konfiqurasiya faylları və məxfi məlumatlarla konteynerlərdə təhlükəsiz və rahat şəkildə işləməyə imkan verir. Bu mexanizmlər təhlükəsizliyi artırır və paylanmış sistemlərdə konfiqurasiyaların idarə olunmasını asanlaşdırır. Bu mövzuda biz necə docker configdocker secret komandalarını istifadə edə biləcəyimizə baxacağıq, nümunələr və ən yaxşı təcrübələri paylaşacağıq.

Konfiqurasiyalar ilə işin əsasları

docker config komandası Docker Swarm-da xidmətlər tərəfindən istifadə edilə bilən konfiqurasiya fayllarını idarə etməyə imkan verir. Konfiqurasiyalar tətbiqin ayarlarını və parametrlərini ötürmək üçün rahat bir yol təqdim edir.

docker config komandasının əsasları

  1. docker config create — Yeni konfiqurasiya yaradılması
  2. docker config ls — Bütün konfiqurasiyaların siyahısı
  3. docker config inspect — Konfiqurasiya haqqında məlumatın alınması
  4. docker config rm — Konfiqurasiyanın silinməsi

docker config istifadəsinə nümunə

Konfiqurasiya yaradılması

Konfiqurasiya yaratmaq üçün docker config create komandası istifadə olunur. Misal olaraq Nginx üçün konfiqurasiya faylı yaradaq.

nginx.conf faylını yaradın:

nginx

user www-data;
worker_processes auto;
pid /run/nginx.pid;
        
events {
    worker_connections 768;
}
        
http {
    server {
        listen 80;
        location / {
            return 200 'Salam, Dünya!';
           add_header Content-Type text/plain;
        }
    }
}

Docker-də konfiqurasiya yaradın:

Terminal

docker config create nginx_config ./nginx.conf

2. Bütün konfiqurasiyaların siyahısı

Yaradılmış bütün konfiqurasiyalara baxmaq üçün docker config ls komandası istifadə olunur:

Terminal


docker config ls 

Komandanın çıxışı:

Terminal

ID                                                                                       NAME           CREATED             UPDATED
f8f8ff8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8   nginx_config    10 seconds ago     10 seconds ago

3. Xidmətdə konfiqurasiyanın istifadəsi

Yaradılmış konfiqurasiyadan istifadə edərək xidmət yaradın:

Terminal


docker service create --name nginx --config source=nginx_config,target=/etc/nginx/nginx.conf -p 8080:80 nginx 

4. Konfiqurasiyanın silinməsi

Konfiqurasiyanı silmək üçün docker config rm komandası istifadə olunmalıdır:

Terminal


docker config rm nginx_config 

6.2 docker secret komandası

docker secret komandası "sirlər" ilə işləməyə imkan verir, məsələn, parollar, API açarları və sertifikatlar, hansı ki, Docker Swarm servisində təhlükəsiz şəkildə istifadə oluna bilər. Sirlər şifrələnmiş formada saxlanılır və yalnız onları istifadə edən servislərə təqdim olunur.

Əsas docker secret komandaları

  1. docker secret create — Yeni sirin yaradılması
  2. docker secret ls — Bütün sirlərin siyahısı
  3. docker secret inspect — Sir haqqında məlumatın alınması
  4. docker secret rm — Sirin silinməsi

docker secret istifadə nümunəsi

1. Sirin yaradılması

Sir yaradılması üçün docker secret create komandası istifadə olunur. Məsələn, verilənlər bazası parolu üçün sir yaradacağıq.

db_password.txt faylını yaradın:

Text

mysecretpassword

Docker-də sir yaradın:

Terminal


docker secret create db_password ./db_password.txt 

2. Bütün sirlərin siyahısı

Yaradılmış bütün sirləri görmək üçün docker secret ls komandası istifadə olunur:

Terminal


docker secret ls 

Komandanın çıxışı:

Terminal

ID                                                                                    NAME           CREATED             UPDATED
f8f8ff8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8   db_password    10 seconds ago     10 seconds ago

3. Sirdən servisdə istifadə

Yaradılmış sir istifadə olunaraq bir servis yaradın:

Terminal

docker service create --name postgres --secret db_password -e 
POSTGRES_PASSWORD_FILE=/run/secrets/ db_password postgres

4. Sirin silinməsi

Sir silinməsi üçün docker secret rm komandası istifadə olunur:

Terminal


docker secret rm db_password 

6.3 Praktik misallar və ən yaxşı təcrübələr

Praktik nümunələr və ən yaxşı təcrübələr

Misal 1: Web tətbiqində konfiqurasiyaların və sirlərin istifadəsi

Konfiqurasiya faylının və sirrin yaradılması

Terminal

echo "user www-data;" > ./nginx.conf
echo "worker_processes auto;" >> ./nginx.conf
docker config create nginx_config ./nginx.conf
        
echo "mysecretpassword" > ./db_password.txt
docker secret create db_password ./db_password.txt

Konfiqurasiyalar və sirlərdən istifadə edən servislərin yaradılması

Terminal

docker service create --name nginx --config source=nginx_config,target=/etc/nginx/nginx.conf -p 
8080:80 nginx

docker service create --name postgres --secret db_password -e 
POSTGRES_PASSWORD_FILE=/run/secrets/db_password postgres

Misal 2: Konfiqurasiyanın yenilənməsi

Konfiqurasiya faylının məzmununun dəyişilməsi

nginx.conf faylını dəyişin:

nginx

user www-data;
worker_processes 4;

Yeni konfiqurasiya versiyasının yaradılması

Terminal

        
docker config create nginx_config_v2 ./nginx.conf 

Yeni konfiqurasiya ilə servisin yenilənməsi

Terminal

docker service update --config-rm nginx_config --config-add 
source=nginx_config_v2,target=/etc/nginx/nginx.conf nginx
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION