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 config
və docker 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ı
docker config create
— Yeni konfiqurasiya yaradılmasıdocker config ls
— Bütün konfiqurasiyaların siyahısı-
docker config inspect
— Konfiqurasiya haqqında məlumatın alınması 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:
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:
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:
docker config ls
Komandanın çıxışı:
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:
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:
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ı
docker secret create
— Yeni sirin yaradılmasıdocker secret ls
— Bütün sirlərin siyahısıdocker secret inspect
— Sir haqqında məlumatın alınması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:
mysecretpassword
Docker-də sir yaradın:
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:
docker secret ls
Komandanın çıxışı:
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:
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:
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ı
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ı
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:
user www-data;
worker_processes 4;
Yeni konfiqurasiya versiyasının yaradılması
docker config create nginx_config_v2 ./nginx.conf
Yeni konfiqurasiya ilə servisin yenilənməsi
docker service update --config-rm nginx_config --config-add
source=nginx_config_v2,target=/etc/nginx/nginx.conf nginx
GO TO FULL VERSION