- 1 1. හැඳින්වීම
- 2 2. Podman යනු මොකද?
- 3 3. Ubuntu හි Podman ස්ථාපනය
- 4 4. Podman සමඟ Dockerfile මූලික සහ භාවිතය
- 5 5. ප්රායෝගික උදාහරණය: Ubuntu මත පදනම් වූ කන්ටේනරයක් නිර්මාණය කිරීම
- 6 6. උපකාරී Podman විශේෂාංග සහ ඉඟි
- 6.1 Podman හි ශක්තීන්: නම්යශීලත්වය සහ ආරක්ෂාව
- 6.2 Rootless ආකාරය සමඟ ආරක්ෂිත මෙහෙයුම්
- 6.3 systemd සමගතාවය සමඟ ස්වයංක්රීය ආරම්භකරණය
- 6.4 Managing Multiple Containers with podman-compose
- 6.5 podman-compose සමඟ බහු කන්ටේනර් කළමනාකරණය
- 6.6 Additional Useful Commands and Tips
- 6.7 අතිරේක ප්රයෝජනවත් විධාන සහ උපදෙස්
- 7 7. Migration Guide: From Docker to Podman
- 8 7. මාරු මාර්ගෝපදේශය: Docker සිට Podman දක්වා
- 8.1 Why Migration to Podman Is Gaining Attention
- 8.2 Podman වෙත මාරු වීමේ අවධානය වැඩිවීමේ හේතු
- 8.3 Command Compatibility Between Docker and Podman
- 8.4 Docker සහ Podman අතර විධාන අනුකූලතාව
- 8.5 Achieving Full Compatibility with podman-docker
- 8.6 podman-docker සමඟ පූර්ණ අනුකූලතාව ලබා ගැනීම
- 8.7 Replacing docker-compose with podman-compose
- 8.8 docker-compose වෙනුවට podman-compose භාවිතය
- 8.9 Migrating Images and Volumes
- 8.10 රූප සහ පරිමාණ මාරු කිරීම
- 8.11 Additional Migration Considerations
- 8.12 අතිරේක මාරු සැලකිලි
- 9 8. නිතර අසන ප්රශ්න (FAQ)
- 9.1 Q1. Podman සහ Docker අතර ප්රධාන වෙනස කුමක්ද?
- 9.2 Q2. Dockerfile සහ Containerfile අතර වෙනස කුමක්ද?
- 9.3 Q3. Podman සමඟ Docker Compose භාවිතා කළ හැකිද?
- 9.4 Q4. Podman Ubuntu හි ස්ථායීව ක්රියා කරයිද?
- 9.5 Q5. rootless ආකාරය භාවිතා කිරීමේදී සීමාවන් තිබේද?
- 9.6 Q6. Podman Docker Hub වලින් එකම රූප Docker හා සමානව ගෙන ඒමට හැකිද?
- 9.7 Q7. Podman නිෂ්පාදන පරිසර සඳහා සුදුසුද?
1. හැඳින්වීම
එන්ඩර් තාක්ෂණයේ පරිණාමය සහ එය වැදගත් වන්නේ ඇයි
අලුත්ම වසර කිහිපය තුළදී, එන්ඩර් තාක්ෂණයේ වැදගත්කම යෙදුම් සංවර්ධනය සහ මෙහෙයුම්වල ඉක්මනින් වැඩි වී ඇත. විශේෂයෙන්ම, සංවර්ධන සහ නිෂ්පාදන පරිසර සමගත කිරීමෙන් පුනරාවර්තනය සහතික කිරීමේ හැකියාව ඉංජිනේරුවන් අතර ශක්තිමත් සහාය ලබාගෙන ඇත.
Docker මෙම ක්ෂේත්රයේ දිගු කලක් ආධිපත්යය තබාගෙන සිටි අතර, මෑත වසරවලදී Podman බලවත් විකල්පයක් ලෙස ඉස්මතු වී ඇත. Podman Docker හි ආමන්ඩ් ලයින් ඉන්ටර්ෆේස් (CLI) (Command Line Interface) ට ආසන්න සමාන CLI එකක් ලබා දෙන අතර, ඩෙමන්වලින් තොර ආකෘතිය, සැහැල්ලු මෙහෙයුම්, සහ මූලික හිමිකම් අවශ්ය නොවන මූලික නොවන මෙහෙයුම වැනි ප්රධාන වාසි ලබා දෙයි.
“Podman + Dockerfile + Ubuntu” යනු ඇයි?
මෙම ලිපිය Linux හි නූතන එන්ඩර් මෙහෙයුම් පැහැදිලි කරයි Podman, Dockerfile, සහ Ubuntu යන අත්යවශ්ය අංග තුන ඒකාබද්ධ කිරීමෙන්.
- Ubuntu ආරම්භකයින් සහ උසස් පරිශීලකයින් සඳහා සුදුසු පුළුල් ලෙස භාවිතා වන Linux විතරණයක් වන අතර,
- Dockerfile එන්ඩර් රූප සංවර්ධනය සඳහා නිර්මාණ සැලසුමක් ලෙස ක්රියා කරයි,
- සහ Podman වඩාත් නම්යශීලී සහ ආරක්ෂිත එන්ඩර් කළමනාකරණය සක්රිය කරන අනුගමනයේ මෙවලමක් වේ.
ආරක්ෂාව පිළිබඳ වැඩි දැනුවත්භාවය සමඟ, Ubuntu හි Dockerfile සමඟ Podman භාවිතා කිරීම පුද්ගල සංවර්ධකයින් සහ ව්යාපාරික පරිසර සඳහා ජනප්රිය තේරීමක් බවට පත්ව ඇත.
අරමුණ සහ ඉලක්කගත ප්රේක්ෂකයින්
මෙම ලිපියේ ඉලක්කය වන්නේ Ubuntu හි Podman භාවිතයෙන් Dockerfile සංවර්ධනය කිරීම සහ ප්රායෝගික එන්ඩර් නිර්මාණය කිරීම ගැන සැලකිල්ලෙන් පැහැදිලි කිරීම යි.
මෙම ලිපිය පහත ප්රේක්ෂකයින් සඳහා අදහස් කර ඇත:
- Podman හි උනන්දුවක් දක්වන Docker අත්දැකීම් ඇති අය
- ආරක්ෂිතව එන්ඩර් කළමනාකරණය කිරීමට අභිලාෂ කරන Ubuntu පරිශීලකයින්
- ඔවුන්ගේ කාර්යයේ එන්ඩර් තාක්ෂණය භාවිතා කිරීමට සැලසුම් කරන ඉංජිනේරුවන්
- Dockerfile ලිවීමට සහ Podman සමඟ රූප සංවර්ධනය කිරීමට උත්සාහ කිරීමට අභිලාෂ කරන ආරම්භකයින්
මූලික භාවිතයට අමතරව, මෙම ලිපිය Docker හි부터 ප්රධාන වෙනස්කම්, සහ සංක්රමණ උපාය මාර්ග ආවරණය කරයි.
2. Podman යනු මොකද?
Podman හි මූලික දළ විශ්ලේෂණය
Podman (Pod Manager) Red Hat–නායකත්වය ලබන ප්රජාව විසින් සංවර්ධනය කරන අනුගමනයේ එන්ඩර් කළමනාකරණ මෙවලමකි. Docker හි මෙන්, එය OCI (Open Container Initiative)–සමගි අනුකූල එන්ඩර් සංවර්ධනය, ධාවනය, සහ කළමනාකරණය කළ හැකි නමුත්, එහි නිර්මාණ දර්ශනය සහ ආකෘතිය සැලකිය යුතු ලෙස වෙනස් වේ.
වඩාත් සැලකිය යුතු විශේෂාංගය වන්නේ Podman හි ඩෙමන් එකක් අවශ්ය නොවීම යි. මෙය සැහැල්ලු සහ ආරක්ෂිත මෙහෙයුම් සක්රිය කරයි. Podman මූලික නොවන ආකාරය ද සහාය දක්වයි, එයින් සාමාන්ය පරිශීලකයින් හිමිකම් ඉහළ නැංවීමකින් තොරව එන්ඩර් කළමනාකරණය කළ හැකිය. Docker සමඟ එහි CLI අනුකූලතාව ඉතා ඉහළ වන අතර, සංක්රමණය සරල කරයි.
Podman හි ප්රධාන විශේෂාංග
Podman හි ප්රධාන විශේෂාංග කිහිපය පහත දැක්වේ:
ඩෙමන්වලින් තොර ආකෘතිය
Podman එන්ඩර් කළමනාකරණය සඳහා පසුබිම් ඩෙමන් ක්රියාවලියක රඳා නොපවතී. මෙය අනවශ්ය පසුබිම් සේවාවන් රහිතව වඩාත් කාර්යක්ෂම සම්පත් භාවිතයට ඉඩ සලසයි.
මූලික නොවන (හිමිකම් නොමැති පරිශීලක) සහාය
Podman පරිපාලක නොවන පරිශීලකයින්ට එන්ඩර් ආරම්භ කිරීම සහ කළමනාකරණය කිරීමට ඉඩ සලසයි. මෙය බහු-පරිශීලක හෝ සේවාදායක පරිසරවල ආරක්ෂාව බොහෝ දුරට වැඩි දියුණු කරයි සහ ආරක්ෂක අවදානම් සැලකිය යුතු ලෙස අඩු කරයි.
Docker-සමගි CLI
Podman Docker හි ආසන්න සමාන ආඥා ව්යුහය භාවිතා කරයි. උදාහරණයක් ලෙස, පහත Docker ආඥා Podman හි ආසන්න සමානව ක්රියා කරයි:
podman build -t myimage .
podman run -it myimage bash
අනුව, Docker පරිශීලකයින් අවම බාධාවකින් සංක්රමණය කළ හැකිය.
Pod ක්රියාකාරිත්වය
Podman Kubernetes “Pod” සංකල්පය ඒකාබද්ධ කරයි, එයින් බහු එන්ඩර් එකක් තරුණ ඒකකයක් ලෙස කළමනාකරණය කිරීමට ඉඩ සලසයි. මෙය Podman Kubernetes සමඟ ඉහළ අනුකූලතාවක් ලබා දෙයි සහ දේශීය සංවර්ධනය සිට වලාකුළු පරිසරවලට සුමට සංක්රමණයන් සක්රිය කරයි.
Ubuntu සමඟ සමගිය
Podman Fedora සහ RHEL-අඩංගු විතරණවල පුළුල් ලෙස භාවිතා වුවද, එය Ubuntu හි ද ස්ථායීව ධාවනය වේ. එය නිල භාණ්ඩාගාරවලින් සාපේක්ෂව සරල වින්යාසයකින් ස්ථාපනය කළ හැකිය. Ubuntu 20.04 LTS සිට, භාණ්ඩ සහාය දර්ශනීය ලෙස වැඩිදියුණු වී ඇත, ප්රවේශ බාධක අඩු කරමින්.
3. Ubuntu හි Podman ස්ථාපනය
ආරම්භ කිරීමට පෙර: පූර්වානුමතික
Ubuntu හි Podman ස්ථාපනය කිරීමට පෙර, ඔබේ Ubuntu අනුවාදය පළමුව පරීක්ෂා කරන්න. Podman Ubuntu 20.04 LTS හෝ ඊට පසුව සඳහා නිලවශයෙන් නිර්දේශිත වේ. පැරණි අනුවාදවල, අවශ්ය භාණ්ඩ නිල භාණ්ඩාගාරවල ලබාගත හැකි නොවිය හැක.
ඔබේ Ubuntu අනුවාදය පරීක්ෂා කිරීමට පහත බලපත්රය භාවිතා කළ හැක:
lsb_release -a
Podman ස්ථාපනය කිරීමට sudo හිමිකම් අවශ්ය වේ. Podman මුල්ගුරු-රහිත ආකාරයෙන් භාවිතා කිරීමට සැලසුම් කළත්, ස්ථාපනය අතරතුර පරිපාලක හිමිකම් තවමත් අවශ්ය වේ.
Ubuntu නිල භාණ්ඩාගාරයෙන් Podman ස්ථාපනය
20.04 හෝ 22.04 වැනි නවතම Ubuntu අනුවාදවල, Podman APT භාවිතයෙන් පහසුවෙන් ස්ථාපනය කළ හැක.
sudo apt update
sudo apt install -y podman
ස්ථාපනයෙන් පසු, Podman නිවරදිව ස්ථාපනය වූ බව තහවුරු කිරීමට අනුවාදය පරීක්ෂා කරන්න:
podman --version
නිල PPA භාවිතයෙන් නවතම අනුවාදය ස්ථාපනය
Ubuntu හි අභිනූක භාණ්ඩාගාරයේ ඇතුළත් Podman අනුවාදය බොහෝ විට තරමක් පැරණි වේ. නවතම විශේෂාංග භාවිතා කිරීමට අපේක්ෂා කරන්නේ නම්, නිල PPA වෙතින් Podman ස්ථාපනය කළ හැක.
. /etc/os-release
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key | sudo apt-key add -
sudo apt update
sudo apt install -y podman
මෙම ක්රමය ඔබට Red Hat සහ Fedora පද්ධතිවල ඇති නවතම Podman අනුවාද භාවිතා කිරීමට ඉඩ සලසයි.
Podman හි මූලික ක්රියාකාරිත්ව පරීක්ෂාව
ස්ථාපනයෙන් පසු, Podman නිවරදිව ක්රියා කරන බව තහවුරු කිරීමට සරල පරීක්ෂාවක් සිදු කරන්න:
podman info
මෙම බලපත්රය Podman හි වින්යාසය, අනුවාදය සහ මුල්ගුරු-රහිත ආකාරය වැනි සහාය දක්වන විශේෂාංග පෙන්වයි.
ඔබට නිල Alpine Linux ප්රතිරූපයක් ධාවනය කරමින් ධාරක ධාවනය පරීක්ෂා කළ හැක:
podman run --rm -it alpine sh
මෙම shell සාර්ථකව ආරම්භ වුවහොත්, Podman නිවරදිව ක්රියා කරයි.
4. Podman සමඟ Dockerfile මූලික සහ භාවිතය
Dockerfile යනු කුමක්ද?
Dockerfile යනු ධාරක ප්රතිරූප ගොඩනැගීමට භාවිතා වන නිර්මාණ සැලැස්මකි. එය මූලික ප්රතිරූපය භාවිතා කිරීම, ස්ථාපනය කළ යුතු භාණ්ඩ සහ පිටපත් කළ යුතු ගොනු වැනි নිර්දේශ නිර්වචනය කරන පාඨ වගුගේ ගොනුවකි.
මෙම ගොනුව මත පදනම්ව, Podman සහ Docker වැනි ධාරක මෙවලම් ස්ථිර පරිසරයක් ස්වයංක්රීයව ගොඩනඟා ගත හැක.
පොදු Dockerfile නිර්දේශ ඇතුළත් වන්නේ:
FROM ubuntu:22.04
RUN apt update && apt install -y curl
COPY ./app.sh /usr/local/bin/app.sh
CMD ["bash", "/usr/local/bin/app.sh"]
මෙම උදාහරණය Ubuntu මූලික ප්රතිරූපයක භාණ්ඩ ස්ථාපනය කරයි, ස්ක්රිප්ට් පිටපත් කරයි සහ අභිනූක ධාවන බලපත්රය නිර්වචනය කරයි.
Podman සමඟ Dockerfile භාවිතය
Podman Docker හා සමානව Dockerfile වලින් ධාරක ප්රතිරූප ගොඩනඟා ගත හැක.
1. ව්යාපෘති නාමාවලිය සූදානම් කිරීම
පහත නාමාවලි ගොඩනැගීම:
project/
├── Dockerfile
└── app.sh
app.sh ගොනුව සරල ස්ක්රිප්ට් එකක් අඩංගු විය හැක:
#!/bin/bash
echo "Hello from Podman container!"
ස්ක්රිප්ට් ධාවන හැකි කරන්න:
chmod +x app.sh
2. Podman සමඟ ප්රතිරූපය ගොඩනඟා ගැනීම
Dockerfile අඩංගු නාමාවලියේ පහත බලපත්රය ධාවනය කරන්න:
podman build -t mypodmanapp .
මෙය mypodmanapp නම් ධාරක ප්රතිරූපයක් නිර්මාණය කරයි.
3. ගොඩනැගූ ප්රතිරූපය තහවුරු කිරීම
ලබාගත හැකි ප්රතිරූප ලැයිස්තුගත කිරීමට:
podman images
4. ධාරකය ධාවනය කිරීම
ගොඩනැගූ ප්රතිරූපය භාවිතයෙන් ධාරකයක් ආරම්භ කරන්න:
podman run --rm mypodmanapp
නිවැරදිව සකස් කර ඇත්නම්, Hello from Podman container! ප්රතිදානය පෙන්වනු ලැබේ.
Dockerfile vs Containerfile
Podman හි, Dockerfile සංකේතනය භාවිතා කරන ගොනු Containerfile ලෙසද හඳුන්වා දිය හැක. මෙම නම්කරණය Docker-අනිත්යභාවය සඳහා ආශාවක් පිළිබිඹු කරයි.
Dockerfile සහ Containerfile අතර කිසිදු ක්රියාකාරී වෙනසක් නැත. Podman විසින් දෙකම සම්පූර්ණයෙන් සහාය දක්වයි.
podman build -f Containerfile -t myimage .
ඔබට -f විකල්පය භාවිතා කරමින් ගොනුවේ නම පැහැදිලිව විධිමත් කළ හැක.
5. ප්රායෝගික උදාහරණය: Ubuntu මත පදනම් වූ කන්ටේනරයක් නිර්මාණය කිරීම
Ubuntu මත පදනම් වූ Dockerfile එකක් නිර්මාණය කිරීම
මෙතැනින්, Ubuntu මත පදනම් වූ Dockerfile එකක් නිර්මාණය කිරීම සහ Podman භාවිතා කරමින් කන්ටේනර රූපයක් ගොඩනැගීම සහ ධාවනය කිරීම පිළිබඳ ප්රායෝගික, පියවරෙන් පියවර උදාහරණයක් තුළින් ගමන් කරමු.
පළමුව, පහත සරල Dockerfile එකක් නිර්මාණය කරන්න:
FROM ubuntu:22.04
RUN apt update && \
apt install -y curl && \
apt clean
COPY hello.sh /usr/local/bin/hello.sh
RUN chmod +x /usr/local/bin/hello.sh
CMD ["/usr/local/bin/hello.sh"]
මෙම Dockerfile එක පහත ක්රියාවන් සිදු කරයි:
- නිල Ubuntu 22.04 රූපය මූලික රූපය ලෙස භාවිතා කරයි
curlපැකේජය ස්ථාපනය කරයිhello.shහෝස්ට් එකෙන් කන්ටේනරය තුළට කොපි කරයිhello.shඅත්හිටුවන ලද ධාවන ස්ක්රිප්ට් ලෙස සකස් කරයි
ඊළඟට, hello.sh නම් සරල ෂෙල් ස්ක්රිප්ට් එකක් නිර්මාණය කරන්න:
#!/bin/bash
echo "Hello, this output is from a Podman container!"
ස්ක්රිප්ට් එකට ධාවන අනුමැතිය ලබා දෙන්න:
chmod +x hello.sh
Podman භාවිතා කරමින් රූපය ගොඩනැගීම
ගොනු සූදානම් වූ පසු, පහත නියමය භාවිතා කරමින් රූපය ගොඩනැගීම:
podman build -t ubuntu-hello .
-t ubuntu-hello විකල්පය රූපයට ටැග් නමක් ප්රමාණවත් කරයි, සහ අවසාන . Dockerfile එක අඩංගු සාමාජිකය විධිමත් කරයි.
ගොඩනැගීම සාර්ථකව අවසන් වුවහොත්, රූපය දේශීයව ගබඩා වනු ඇත.
podman images
ඔබට මෙම නියමය භාවිතා කරමින් රූපය නිර්මාණය වූ බව තහවුරු කළ හැක.
ගොඩනැගූ රූපය ධාවනය කිරීම සහ තහවුරු කිරීම
නිර්මාණය වූ රූපයෙන් කන්ටේනරයක් ධාවනය කිරීම සඳහා පහත නියමය භාවිතා කරන්න:
podman run --rm ubuntu-hello
උදාහරණ ප්රතිදානය:
Hello, this output is from a Podman container!
--rm විකල්පය ධාවනයෙන් පසු කන්ටේනරය ස්වයංක්රීයව ඉවත් කරයි, එය පරීක්ෂණ අරමුණු සඳහා ඉතා සුදුසුය.
විකල්පය: අන්තර්ක්රියාකාරී කන්ටේනරයක් ධාවනය කිරීම
ඔබට කන්ටේනරය සමඟ සෘජුව අන්තර්ක්රියා කිරීමට අවශ්ය නම්, -it විකල්පය සමඟ එය ආරම්භ කර Bash එක ධාවනය කළ හැක:
podman run -it ubuntu-hello bash
මෙය ඔබට කන්ටේනරය සැහැල්ලු Ubuntu-මත පදනම් වූ සංවර්ධන පරිසරයක් ලෙස භාවිතා කිරීමට ඉඩ සලසයි.
6. උපකාරී Podman විශේෂාංග සහ ඉඟි
Podman හි ශක්තීන්: නම්යශීලත්වය සහ ආරක්ෂාව
Docker සමගතාවය පවත්වාගෙන යන අතර, Podman නම්යශීලී සහ ආරක්ෂිත කන්ටේනර මෙහෙයුම් සක්රීය කරන විශේෂාංග ලබා දෙයි. මෙම කොටස දිනපතා ක්රියාකාරකම් ප්රවාහයන්හි විශේෂයෙන් උපකාරී ප්රායෝගික විශේෂාංග සහ ඉඟි හඳුන්වා දෙයි.
Rootless ආකාරය සමඟ ආරක්ෂිත මෙහෙයුම්
Podman හි බලවත්ම විශේෂාංගයන්ගෙන් එකක් වන්නේ rootless ආකාරය, එය සාමාන්ය පරිශීලකයින්ට පරිපාලක හිමිකම් නොමැතිව කන්ටේනර ආරම්භ කිරීම, නවත්වීම සහ කළමනාකරණය කිරීමට ඉඩ සලසයි.
ඔබට පහත පරිදි sudo නොමැතිව කන්ටේනර ධාවනය කළ හැක:
podman run -it ubuntu bash
මෙම මෙහෙයුම පරිශීලකගේ නිවසේ සීමාවට සීමා වීම නිසා, පද්ධති-ව්යාප්ත බලපෑම අවම කෙරේ. Rootless ආකාරය බෙදාගත් සේවාදායක සහ සංවර්ධන පරිසරයන්හි විශේෂයෙන් උපකාරී වේ.
systemd සමගතාවය සමඟ ස්වයංක්රීය ආරම්භකරණය
Podman systemd සමඟ ස්වභාවික සමගතාවය සහාය දක්වයි, එය කන්ටේනර Linux සේවා ලෙස ස්වයංක්රීයව ධාවනය වීමට ඉඩ සලසයි.
ඔබට පහත නියමය භාවිතා කරමින් කන්ටේනරයක් සඳහා systemd සේවා ඒකකයක් ජනනය කළ හැක:
podman generate systemd --name mycontainer --files --restart-policy=always
මෙම නියමය ~/.config/systemd/user/ යටතේ ඒකක ගොනු නිර්මාණය කරයි. ජනනයෙන් පසු, සේවාව සක්රීය කර ආරම්භ කිරීම:
systemctl --user daemon-reexec
systemctl --user enable --now container-mycontainer.service
answer.This configuration ensures that containers automatically start when the system boots.
මෙම වින්යාසය කන්ටේනර්ස් පද්ධතිය ආරම්භ වන විට ස්වයංක්රීයව ආරම්භ වීමට සහතික කරයි.
Managing Multiple Containers with podman-compose
podman-compose සමඟ බහු කන්ටේනර් කළමනාකරණය
In addition to managing single containers, Podman supports multi-container orchestration. By using podman-compose, you can achieve functionality similar to Docker Compose.
තනි කන්ටේනර් කළමනාකරණයට අමතරව, Podman බහු-කන්ටේනර් සංවිධානය සහය දක්වයි. podman-compose භාවිතා කිරීමෙන්, Docker Compose සමඟ සමාන ක්රියාකාරිත්වයක් ලබා ගත හැක.
Install podman-compose using pip:
pip භාවිතයෙන් podman-compose ස්ථාපනය කරන්න:
pip install podman-compose
Because it is largely compatible with docker-compose.yml files, you can often reuse existing configurations.
docker-compose.yml ගොනු සමඟ එය බොහෝ විට අනුකූල වන බැවින්, ඔබට පවතින වින්යාස නැවත භාවිතා කළ හැක.
Starting services is as simple as running:
සේවා ආරම්භ කිරීම පහසුය, පහත පරිදි ධාවනය කිරීමෙන්:
podman-compose up -d
This allows you to reproduce complete development environments instantly even when using Podman.
මෙය ඔබට Podman භාවිතා කරන විටත් පූර්ණ සංවර්ධන පරිසරයන් වහාම නැවත සාදීමට ඉඩ සලසයි.
Additional Useful Commands and Tips
අතිරේක ප්රයෝජනවත් විධාන සහ උපදෙස්
Cleaning Up Unused Images and Containers
භාවිත නොකළ රූප සහ කන්ටේනර් පිරිසිදු කිරීම
podman system prune -a
This command removes unused containers, images, and temporary files, helping keep your storage clean.
මෙම විධානය භාවිත නොකළ කන්ටේනර්, රූප සහ තාවකාලික ගොනු ඉවත් කරයි, එමඟින් ඔබේ ගබඩා පිරිසිදු තබා ගැනීමට උපකාරී වේ.
Enabling Command Completion (bash/zsh)
විධාන සම්පූර්ණ කිරීම සක්රිය කිරීම (bash/zsh)
You can install command completion support with the following package:
පහත පැකේජය භාවිතයෙන් විධාන සම්පූර්ණ කිරීමේ සහය ස්ථාපනය කළ හැක:
sudo apt install podman-docker
This enables Docker-like command completion for Podman, improving productivity.
මෙය Podman සඳහා Docker-සම වැනි විධාන සම්පූර්ණ කිරීම සක්රිය කරයි, නිෂ්පාදනශීලතාව වැඩිදියුණු කරයි.
7. Migration Guide: From Docker to Podman
7. මාරු මාර්ගෝපදේශය: Docker සිට Podman දක්වා
Why Migration to Podman Is Gaining Attention
Podman වෙත මාරු වීමේ අවධානය වැඩිවීමේ හේතු
Docker has long been synonymous with container technology, but in recent years, a shift toward Podman as a more lightweight and secure alternative has gained momentum. In particular, Red Hat Enterprise Linux (RHEL) and Fedora have reduced Docker support and adopted Podman as the default container engine, prompting many organizations to consider migration.
Docker දිගු කාලයක් කන්ටේනර් තාක්ෂණය සමඟ සම්බන්ධ වී තිබුණද, පසුගිය වසර කිහිපයේ තදබල සහ ආරක්ෂිත විකල්පයක් ලෙස Podman වෙත මාරු වීම වේගවත් වී ඇත. විශේෂයෙන්, Red Hat Enterprise Linux (RHEL) සහ Fedora Docker සහය අඩු කර Podman ප්රාථමික කන්ටේනර් එන්ජින් ලෙස අනුගමනය කර ඇති නිසා, බොහෝ සංවිධාන මාරු කිරීම ගැන සිතීමට බලපෑ.
This section explains practical steps and important considerations for migrating smoothly from Docker to Podman.
මෙම කොටස Docker සිට Podman දක්වා සාර්ථකව මාරු වීමට ප්රායෝගික පියවර සහ වැදගත් සැලකිලි පැහැදිලි කරයි.
Command Compatibility Between Docker and Podman
Docker සහ Podman අතර විධාන අනුකූලතාව
Podman maintains a high level of CLI compatibility with Docker, allowing most commands to be directly replaced without modification.
Podman Docker සමඟ ඉහළ CLI අනුකූලතාව රඳවා ඇත, එමඟින් බොහෝ විධාන සෘජුවම වෙනස් කිරීමකින් තොරව ප්රතිස්ථාපනය කළ හැක.
| Docker | Podman |
|---|---|
docker build -t myapp . | podman build -t myapp . |
docker run -it myapp | podman run -it myapp |
docker images | podman images |
docker ps | podman ps |
This makes it possible to switch to Podman without changing your workflow, which is one of its biggest advantages.
මෙය ඔබේ වැඩපිළිවෙළ වෙනස් නොකර Podman වෙත මාරු වීමට ඉඩ සලසයි, එය එහි විශාලතම වාසියකි.
Achieving Full Compatibility with podman-docker
podman-docker සමඟ පූර්ණ අනුකූලතාව ලබා ගැනීම
If existing scripts, CI/CD pipelines, or tools assume the presence of the docker command, you can install the podman-docker package to make Podman act as a drop-in replacement.
පවතින ස්ක්රිප්ට්, CI/CD පයිප්ලයින් හෝ මෙවලම් docker විධානය පවතින බව ගණන් කරන්නේ නම්, podman-docker පැකේජය ස්ථාපනය කිරීමෙන් Podman එකක් ලෙස ප්රතිස්ථාපනය කළ හැක.
sudo apt install podman-docker
After installation, the docker command becomes a symbolic link to Podman:
ස්ථාපනයෙන් පසු, docker විධානය Podman වෙත සංකේත සබැඳියක් බවට පත්වේ:
which docker
# → /usr/bin/docker → symbolic link to podman
This allows existing Docker-based scripts to run on Podman without modification.
මෙය පවතින Docker-අධාරිත ස්ක්රිප්ට් Podman මත වෙනස්කම් නොකර ධාවනය කිරීමට ඉඩ සලසයි.
Replacing docker-compose with podman-compose
docker-compose වෙනුවට podman-compose භාවිතය
For projects that use Docker Compose to define multi-container environments, podman-compose provides a compatible alternative.
බහු-කන්ටේනර් පරිසරයන් නිර්වචනය සඳහා Docker Compose භාවිතා කරන ව්යාපෘති සඳහා, podman-compose අනුකූල විකල්පයක් සපයයි.
While compatibility is generally high, note the following limitations:
- Some Compose options (such as
depends_on) may be unsupported or behave differently
සමහර Compose විකල්ප (උදාහරණkéntdepends_on) සහය නොදක්වන්නා හෝ වෙනස් ලෙස ක්රියා කළ හැක. - Differences may exist in event logging and health check behavior
සිදුවීම් ලොග් කිරීම සහ සෞඛ්ය පරීක්ෂණ හැසිරීමේ වෙනස්කම් තිබිය හැක.
For typical configurations such as a web server and database combination, migration is usually straightforward.
වෙබ් සේවාදායකය සහ දත්ත ගබඩා එකතුව වැනි සාමාන්ය වින්යාස සඳහා, මාරු කිරීම සාමාන්යයෙන් සරල වේ.
Migrating Images and Volumes
රූප සහ පරිමාණ මාරු කිරීම
Docker images stored locally cannot be accessed directly by Podman. You must either re-pull them or export and import them.
දේශීයව සුරැකුම් කර ඇති Docker රූප Podman මගින් සෘජුව ප්රවේශය නොලැබේ. ඔබට ඒවා නැවත ඇදගත යුතුය හෝ නිර්යාත කර ආයාත කළ යුතුය.
Option 1: Re-pull Images with Podman
විකල්ප 1: Podman සමඟ රූප නැවත ඇදගැනීම
podman pull ubuntu:22.04
Option 2: Export from Docker and Import into Podman
විකල්ප 2: Docker වෙතින් නිර්යාත කර Podman වෙත ආයාත කිරීම
# Export from Docker
docker save myimage > myimage.tar
# Import into Podman
podman load < myimage.tar
This enables Docker-built images to be reused in Podman.
මෙය Docker-සහිත නිර්මාණය කළ රූප Podman තුළ නැවත භාවිතා කිරීමට ඉඩ සලසයි.
Additional Migration Considerations
අතිරේක මාරු සැලකිලි
- Rootless operation differences : Docker typically assumes root usage, while Podman is designed for rootless operation
Rootless ක්රියාකාරිත්වයේ වෙනස්කම් : Docker සාමාන්යයෙන් root භාවිතය ගණන් කරයි, එත් Podman rootless ක්රියාකාරිත්වයට නිර්මාණය කර ඇත. - Daemon architecture : Podman is daemonless, changing how background processes are managed
Daemon වාස්තුකලාව : Podman daemon-රහිත වේ, පසුබැසි ක්රියාවලි කළමනාකරණය වෙනස් කරයි. - Log and data storage locations differ and should be reviewed during migration
ලොග් සහ දත්ත ගබඩා ස්ථාන වෙනස් වේ, මාරු කිරීමේදී ඒවා සමාලෝචනය කළ යුතුය.
8. නිතර අසන ප්රශ්න (FAQ)
Q1. Podman සහ Docker අතර ප්රධාන වෙනස කුමක්ද?
A1. වඩාත් වැදගත් වෙනස වන්නේ Podman ඩෙමන් එකක් නොමැතිව ක්රියා කිරීම යි. මෙය වඩාත් සැහැල්ලු සහ ආරක්ෂිත මෙහෙයුම් ලෙස ඉඩ සලසයි. Podman rootless ආකාරය ද සහය දක්වයි, එමඟින් අනුමැතිය ඉහළ නැංවීමකින් තොරව කන්ටේනර් කළමනාකරණය කිරීමට හැකිය. Docker සමඟ CLI අනුකූලතාවය ඉතා ඉහළය.
Q2. Dockerfile සහ Containerfile අතර වෙනස කුමක්ද?
A2. ක්රියාකාරී වෙනසක් නොමැත. දෙකම ගොනු කන්ටේනර් ගොඩනැගීමේ උපදෙස් සමාන ව්යාකරණය භාවිතා කරමින් විස්තර කරයි.
Containerfile නම OCI අනුකූල ව්යාපෘතිවලදී Docker-විශේෂිත ශබ්දාඛ්යානයන් වළක්වා ගැනීම සඳහා යෝජනා කෙරේ. ප්රායෝගිකව, Dockerfile Podman සමඟ සම්පූර්ණයෙන්ම ක්රියා කරයි.
Q3. Podman සමඟ Docker Compose භාවිතා කළ හැකිද?
A3. Docker Compose සෘජුව සහය නොදක්වන නමුත්, podman-compose විකල්පයක් ලෙස භාවිතා කළ හැකිය. එය Podman පරිසරයේ docker-compose.yml ගොනු විස්තර කරයි.
depends_on වැනි සමහර විකල්ප සීමිත බැවින්, සංකීර්ණ සැකසුම් සඳහා පරීක්ෂණය යෝජනා කෙරේ.
Q4. Podman Ubuntu හි ස්ථායීව ක්රියා කරයිද?
A4. ඔව්. Podman Ubuntu 20.04 LTS සහ පසුව ස්ථායීව ක්රියා කරයි. එය නිල Ubuntu ගබඩාවල ඇති අතර apt භාවිතා කරමින් ලේසියෙන් ස්ථාපනය කළ හැකිය. නවතම අනුවාද සඳහා, PPA භාවිතා කිරීමද විකල්පයකි.
Q5. rootless ආකාරය භාවිතා කිරීමේදී සීමාවන් තිබේද?
A5. Rootless ආකාරය සමහර විශේෂඥ මෙහෙයුම් සහ 1024ට අඩු පෝට් වලට බැඳීම සීමා කරයි. නමුත්, මෙම සීමාවන් බොහෝ විට පෝට් ඉදිරිපත් කිරීම භාවිතා කරමින් මගහරින ලෙස හැකිය. බොහෝ භාවිතයන් සඳහා, rootless ආකාරය සම්පූර්ණයෙන්ම ප්රායෝගිකය.
Q6. Podman Docker Hub වලින් එකම රූප Docker හා සමානව ගෙන ඒමට හැකිද?
A6. ඔව්. Podman මගින් අනුපිටින්ම Docker Hub වලින් රූප ගෙන ඒමට හැකිය. සමහර පරිසරවලදී, රෙජිස්ට්රිය සහ නේම්ස්පේස් පැහැදිලිව විශේෂණය කිරීම අවශ්ය විය හැක:
podman pull docker.io/library/ubuntu
Podman Quay.io සහ GitHub Container Registry වැනි අනෙකුත් රෙජිස්ට්රි ද සහය දක්වයි.
Q7. Podman නිෂ්පාදන පරිසර සඳහා සුදුසුද?
A7. ඔව්. Podman නිෂ්පාදන භාවිතය සඳහා අවශ්ය විශේෂාංග ඇතුළත් වේ, ඒවා Kubernetes-අනුකූල පොඩ් සංකල්ප සහ systemd ඒකාබද්ධ කිරීම වැනි. ආරක්ෂාවට සංවේදී පරිසරවලදී, Podman Docker ට වඩා හොඳ තේරීමක් විය හැක.
Podman RHEL සහ Fedora හි අනුපිටින්ම කන්ටේනර් එන්ජින් ලෙස ඇති අතර, විස්තීර්ණ නිෂ්පාදන භාවිතයක් ඇත.




