Wielu użytkowników chciałoby usunąć bieżące aplikacje wielopasmowe z maszyn wirtualnych i uruchomić je w kontenerach dla wielu usług. Chcą, aby te aplikacje zostały podzielone na mikrousług; Jednak niektórzy ludzie nie mogą lub nie mają czasu. Sensowne jest ich obsługa jako usługi uruchomione z plików jednostek systemowych.
Pliki jednostek systemowych: Większość programów działających w kontenerach jest wykonana z maszyny wirtualnej lub kodu hosta. Te aplikacje mają plik jednostki przygotowany do aplikacji i rozumieją wykonanie programu. To lepsze niż włamanie się do własnych usług init, aby uruchomić usługę za pomocą obsługiwanego sposobu.
Co to jest Docker?
Docker ma na celu pomóc inżynierom i zespołom stać się bardziej produktywnym i mniej podatnym na błędy. Ustanowienie i wdrożenie nowych projektów z Dockerem są łatwiejsze i bardziej wydajne.
Rozważ scenariusz, w którym system operacyjny Windows jest zainstalowany, a aplikacja powinna być wdrażana i testowana w osobnym systemie operacyjnym - Fedora, Centos i Ubuntu. Co zamierzasz zrobić? Chcesz to wszystko umieścić na swoim laptopie? Czy to jest wyjątkowo proste?
Rozważ przypadek, w którym musisz użyć kilku wersji Pythona aplikacji, powiedzmy Python 3.2, Python 3.8 itd., oraz różne kombinacje WebServer, takie jak Nginx i Apache. Co zamierzasz zrobić? Tam właśnie Docker cię uratuje.
Docker to platforma kontenerowa, która pozwala pakować program, i jest to kontener Docker, który zapewnia płynne funkcjonowanie w każdym środowisku.
Powiedzmy więc, że używasz Ubuntu 20.02 i Python 3.2 Aby wdrożyć/zbudować aplikację. Możesz skonstruować obraz dokera do wykonywania kodu w kontenerze Docker zawierającym plik wielowarstwowy.
Obraz Docker jest dostępny do prawidłowego uruchomienia projektu, z bibliotekami systemowymi, narzędziami, plikami i wszelkimi innymi zależnościami.
Uruchom kontener Docker jako serwis
Powiedzmy, że nazwa Twojej aplikacji to „x.„Aby uruchomić kontener aplikacji jako usługę za pomocą Systemd, Utwórz następujący plik serwisowy w/etc/systemd/system z nazwami jako
'doker.Some_name.praca' :
[Jednostka]
Opis = x pojemnik
After = Docker.praca
Wants = Network-online.Target Docker.gniazdo elektryczne
Wymaga = dokera.gniazdo elektryczne
[Praca]
Restart = zawsze
ExecStart =/usr/bin/docker start -a Some_name
Execstop =/usr/bin/docker stop -t 10 Some_name
[Zainstalować]
Wantby = Multi-User.cel
Jednostka pliku generuje nową usługę i mapuje instrukcje uruchamiania i zatrzymania dokowania do sekwencji Uruchom.
Aby włączyć usługę za pomocą rozruchu systemu, użyj:
SystemCtl Włącz Docker.Some_name
Użyj następujących poleceń, aby zatrzymać i rozpocząć usługę ręcznie w dowolnym momencie:
Sudo Service Docker.Some_name Stop
Sudo Service Docker.Some_name Start
Wniosek
Wykazaliśmy podejście do wdrażania kontenerów Docker jako Systemd Usługi na Ubuntu w tym artykule. Jest to prosta alternatywa dla innych narzędzi do orkiestracji kontenerowej. Możemy używać Dockera w różnych zadaniach związanych z opracowywaniem i testowaniem naszej aplikacji. Zwiększa fazę testowania naszej aplikacji. Możemy go użyć do zarządzania wersjami dla całego systemu operacyjnego aplikacji. Kolejnym zastosowaniem Dockera jest współpraca z zespołem w systemie operacyjnym Twojej aplikacji. Możesz także wykonać kod laptopa w tym samym środowisku, co serwer za pomocą Docker.