Przejdź do treści stopki
KORZYSTANIE Z IRONSECUREDOC

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów)

Czym jest Docker?

Docker to platforma typu open source, która automatycznie wdraża aplikacje i zarządza nimi w lekkich, przenośnych kontenerach. Kontenery pakują aplikację wraz z jej zależnościami, w tym bibliotekami i plikami konfiguracyjnymi, dzięki czemu może ona działać spójnie w różnych środowiskach. Ta spójność sprawia, że tworzenie i testowanie oprogramowania jest prostsze, ponieważ aplikacje mogą działać identycznie na różnych systemach — czy to na laptopie programisty, serwerze, czy w środowisku chmury. Skalowalność w zarządzaniu aplikacjami oznacza wydajne tworzenie, dostarczanie i uruchamianie kontenerów, co ułatwia Docker.

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 1 — Docker

Obrazy Docker znacznie ułatwiają programistom specyfikację spójnego środowiska uruchomieniowego. Większość gotowych obrazów można znaleźć w otwartym rejestrze o nazwie Docker Hub, z którego programiści mogą korzystać bezpośrednio lub dostosowywać je do własnych potrzeb. W przypadku aplikacji wykorzystujących wiele kontenerów narzędzia takie jak Docker Compose koordynują pracę kontenerów, natomiast Kubernetes może zarządzać jeszcze bardziej złożonym skalowaniem i automatyzacją. Docker stał się niezbędnym narzędziem w tworzeniu oprogramowania i DevOps.

Czym jest kontener Docker?

Kontener Docker to w zasadzie aplikacja, której wszystkie zależności — takie jak biblioteki, pliki binarne i pliki konfiguracyjne — są spakowane w lekki, samodzielny plik wykonywalny. Kontenery zaprojektowane w izolacji działają na jądrach systemów operacyjnych hosta, co pozwala uniknąć zakłóceń ze strony innego uruchomionego oprogramowania. Łatwość uruchamiania, zatrzymywania lub usuwania sprawia, że idealnie nadają się do testowania, wdrażania i skalowania.

Funkcje kontenerów Docker

  • Izolacja: kontenery działają w izolowanych środowiskach; aplikacje nie będą ze sobą kolidować, nawet jeśli korzystają z różnych zestawów zależności lub bibliotek.
  • Lekkość: kontenery współdzielą jądro systemu operacyjnego hosta, dzięki czemu są niewielkie i uruchamiają się szybciej niż maszyny wirtualne.
  • Przenośność: kontenery są deterministyczne i mogą działać na dowolnym systemie przy użyciu Docker, zapewniając spójność w środowiskach programistycznych, testowych i produkcyjnych.
  • Skalowalność: kontenery można łatwo replikówać i skalować, co umożliwia szybkie wdrażanie i zarządzanie mikrousługami.
  • Efektywność wykorzystania zasobów: kontenery zużywają mniej zasobów niż maszyny wirtualne, co pozwala na większą gęstość i efektywne wykorzystanie zasobów obliczeniowych.

Czym jest obraz Docker?

Obraz Docker to schemat służący do tworzenia kontenerów. Jest to plik tylko do odczytu, o strukturze warstwowej, zawierający szczegółowe informacje o plikach systemówych i zależnościach niezbędnych do uruchomienia aplikacji. Pliki Dockerfile służą do tworzenia obrazów, określając sposób kompilacji obrazu Docker, co może obejmować takie zadania, jak instalacja oprogramowania lub kopiowanie plików. Każda zmiana w pliku Dockerfile tworzy nową warstwę obrazu, co pozwala zachować wydajność i modułowość.

Cechy obrazu Docker

  • Multi-Level Stack: Obrazy są tworzone warstwowo przy użyciu plików Dockerfile. Każda instrukcja w pliku Dockerfile dodaje warstwę, więc obrazy powinny być zoptymalizowane tak, aby odbudowywać tylko zmienione warstwy.
  • Możliwość ponownego wykorzystania: Obrazy bazowe, takie jak Ubuntu lub Node.js, mogą być ponownie wykorzystywane w różnych projektach, co pozwala zaoszczędzić czas i zasoby związane z programowaniem.
  • Wersjonowanie: Obrazy można oznaczyć tagami w celu wersjonowania, co ułatwia przywrócenie poprzednich wersji w razie potrzeby.
  • Modułowość: Zmiany w obrazie są stopniowe, co umożliwia proste aktualizacje bez konieczności przebudowywania całego obrazu.
  • Dostępne na Docker Hub: publiczne i prywatne rejestry obrazów ułatwiają udostępnianie i wdrażanie obrazów.

Jak utworzyć kontener Docker

Plik Dockerfile to plik tekstowy zawierający instrukcje dotyczące tworzenia obrazu Docker. W tym pliku określa się obraz bazowy, zależności, kod aplikacji, zmienne środowiskowe oraz polecenia służące do uruchomienia aplikacji. Oto prosty przykład:

# Use an official Node.js runtime as a parent image
FROM node:18

# Set the working directory in the container
WORKDIR /app

# Copy package.json and install dependencies
COPY package.json /app
RUN npm install

# Copy the rest of the application code
COPY . /app

# Expose the application’s port
EXPOSE 3000

# Define the command to run the application
CMD ["node", "app.js"]

Zbuduj obraz Docker

Użyj pliku Dockerfile, aby utworzyć obraz Docker. W wierszu poleceń terminala, z katalogu zawierającego plik Dockerfile, wykonaj:

Przed wykonaniem poniższego polecenia upewnij się, że masz zainstalowany Docker Desktop.

docker build -t my-app .
docker build -t my-app .
SHELL

To polecenie tworzy obraz o nazwie my-app. Aby sprawdzić, czy zostało utworzone, uruchom:

docker images
docker images
SHELL

Uruchom kontener Docker

Za pomocą obrazu można utworzyć kontener Docker, a następnie uruchomić go za pomocą polecenia docker run. Demon Docker uruchomi i będzie monitorował proces albo w trybie odłączonym (w tle), albo w trybie pierwszoplanowym.

docker run -d -p 3000:3000 --name my-running-app my-app
docker run -d -p 3000:3000 --name my-running-app my-app
SHELL
  • -d: Uruchom kontener w trybie odłączonym.
  • -p 3000:3000: Mapuj port 3000 hosta na port 3000 w kontenerze.
  • --name my-running-app: Przypisz nazwę zdefiniowaną przez użytkownika do kontenera.

Sprawdź kontener

Aby sprawdzić uruchomione kontenery Docker, użyj:

docker ps
docker ps
SHELL

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 2 — Uruchamianie kontenerów Docker

Powyższe polecenie wyświetla szczegóły uruchomionych kontenerów, w tym identyfikator kontenera, nazwę, nazwę obrazu itp.

Zatrzymaj i usuń kontener

# Stop container
docker stop dazzling_snyder

# Remove container
docker rm dazzling_snyder
# Stop container
docker stop dazzling_snyder

# Remove container
docker rm dazzling_snyder
SHELL

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 3 — Zatrzymanie kontenera

Czym jest IronSecureDoc?

IronSecureDoc Docker to kontenerowe rozwiązanie do przetwarzania dokumentów firmy Iron Software, które może automatycznie przetwarzać dokumenty w środowisku Docker bez udziału człowieka. Oferuje złożone procesy obiegu dokumentów oraz maksymalną ochronę danych dzięki szyfrowaniu, podpisom cyfrowym, deszyfrowaniu, znakom wodnym i innym funkcjom dla plików PDF i dokumentów. Zapewnia spójne i skalowalne, izolowane wdrożenia na różnych platformach, dzięki czemu nadaje się do integracji z DevOps i procesami CI/CD.

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 4 — IronSecureDoc: serwer zabezpieczeń i zgodności plików PDF

To podejście oparte na kontenerach usprawnia obsługę dokumentów w aplikacjach wymagających automatyzacji i wysokiego poziomu bezpieczeństwa, kompatybilnych z mikrousługami i środowiskami natywnymi dla chmury. IronSecureDoc jest szczególnie przydatny dla programistów tworzących aplikacje, które wymagają niezawodnego automatycznego przetwarzania dokumentów w kontrolowanym i przenośnym środowisku Docker.

Zainstaluj i uruchom IronSecureDoc

Wprowadź następujące polecenie w wierszu poleceń lub oknie terminala, aby pobrać obraz Docker IronSecureDoc z repozytorium:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 5 — Pobieranie obrazu IronSecureDoc

Po pobraniu obrazu Docker uruchom kolejne polecenie, aby uruchomić kontener IronSecureDoc.

Tworzenie nowego kontenera dla IronSecureDoc

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Powyższe polecenie docker run tworzy instancję kontenera IronSecureDoc.

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 6 — Nowy kontener

Korzystanie z kontenera IronSecureDoc

IronSecureDoc umożliwia użytkownikom instalację i uruchamianie Docker w celu redagowania, certyfikowania lub szyfrowania plików za pośrednictwem interfejsu REST API.

Uruchamianie kontenera Docker z obrazu (samouczek dla programistów): Rysunek 7 — SecureDoc Web API

Na przykład, aby zaszyfrować dokument, można wysłać żądanie POST do interfejsu API IronSecureDoc:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

Powoduje to przekazanie dokumentu do IronSecureDoc, który przetwarza i szyfruje dane zgodnie z wymaganiami.

Wnioski

Mówiąc prościej, Docker upraszcza wdrażanie aplikacji, ponieważ programista może utworzyć kontener na podstawie obrazu, zapewniając jednolitość w przenośnym i skalowalnym środowisku. Skutkuje to wydajnym działaniem aplikacji na różnych platformach i ułatwia wykorzystanie zasobów, usprawniając procesy DevOps oraz potoki CI/CD.

Podobnie, IronSecureDoc Docker wykorzystuje architekturę kontenerową Docker, aby oferować bezpieczne, zautomatyzowane rozwiązania do przetwarzania dokumentów. Docker i IronSecureDoc stanowią razem potężne narzędzia do tworzenia bezpiecznych, skalowalnych aplikacji w ramach nowoczesnego programowania. Aby uzyskać więcej informacji na temat licencji IronSecureDoc, kliknij tę stronę poświęconą licencjom, a aby zapoznać się ze szczegółami dotyczącymi wielu produktów Iron Software, odwiedź stronę poświęconą Suite bibliotek.

Często Zadawane Pytania

Czym jest Docker i dlaczego jest ważny dla programistów?

Docker to platforma typu open source, która automatyzuje wdrażanie i zarządzanie aplikacjami w kontenerach. Pakuje aplikacje wraz z ich zależnościami, zapewniając spójne działanie w różnych srodowiskach, co upraszcza tworzenie, testowanie i skalowanie.

W jaki sposób obrazy Docker ułatwiają wdrażanie aplikacji?

Obrazy Docker służą jako plany tylko do odczytu do tworzenia kontenerów. Definiują one pliki systemowe i zależności potrzebne do uruchomienia aplikacji, umożliwiając łatwe udostępnianie i wdrażanie. Obrazy można przechowywać i uzyskiwać do nich dostęp z rejestrów, takich jak Docker Hub.

Jakie są kluczowe kroki w tworzeniu i uruchamianiu kontenera Docker?

Aby utworzyć i uruchomić kontener Docker, należy najpierw napisać plik Dockerfile, określając obraz bazowy i zależności. Następnie należy skompilować obraz Docker na podstawie pliku Dockerfile i użyć polecenia docker run, aby utworzyć i uruchomić kontener.

W jaki sposób IronSecureDoc usprawnia przetwarzanie dokumentów w Dockerze?

IronSecureDoc to rozwiązanie oparte na Dockerze, które automatyzuje przetwarzanie dokumentów dzięki funkcjom takim jak szyfrowanie i podpisywanie cyfrowe. Zapewnia bezpieczne, skalowalne przepływy pracy w kontenerach Docker, dzięki czemu idealnie nadaje się do integracji z procesami DevOps oraz potokami CI/CD.

Jakie korzyści oferują kontenery Docker w zakresie tworzenia aplikacji?

Kontenery Docker zapewniają izolację, lekkość działania, przenośność i efektywne wykorzystanie zasobów. Gwarantują spójne działanie aplikacji w różnych srodowiskach, wspierają szybkie wdrażanie i upraszczają zarządzanie mikrousługami.

W jaki sposób programiści mogą zapewnić bezpieczną obsługę dokumentów przy użyciu Docker?

Programiści mogą używać IronSecureDoc do automatyzacji bezpiecznego przetwarzania dokumentów w kontenerze Docker. Zapewnia on szyfrowanie, podpisywanie cyfrowe i inne funkcje bezpieczeństwa, zwiększając ochronę i integralność przepływu dokumentów.

Jaką rolę odgrywa Docker Hub we wdrażaniu kontenerów?

Docker Hub pełni rolę otwartego rejestru gotowych obrazów Docker, umożliwiając programistom dostęp do obrazów i ich udostępnianie. Ułatwia to dostosowywanie i wdrażanie aplikacji, przyspieszając proces tworzenia oprogramowania.

W jaki sposób Docker poprawia skalowalność i wydajność aplikacji?

Docker poprawia skalowalność, umożliwiając łatwą replikację i zarządzanie kontenerami. Pozwala to na szybkie i wydajne skalowanie aplikacji, optymalizując wykorzystanie zasobów i wspierając nowoczesne praktyki tworzenia oprogramowania.

Jaki jest cel pliku Dockerfile podczas tworzenia kontenera?

Plik Dockerfile służy do definiowania obrazu bazowego, zależności, kodu aplikacji i poleceń wykonawczych dla kontenera Docker. Stanowi on plan tworzenia obrazów Docker, które następnie można wykorzystać do tworzenia kontenerów.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie