මෙම ENTRYPOINTනිශ්චිතව දක්වා කන්ටේනර් ආරම්භ කරන විට සැමවිටම ක්රියාත්මක කරන බව විධාන.
මෙම CMDකිරීමට පෝෂණය කළ බව සඳහන් කරනුයේ තර්ක ENTRYPOINT.
නිශ්චිත විධානයකට කැප වූ රූපයක් සෑදීමට ඔබට අවශ්ය නම් ඔබ භාවිතා කරනු ඇත ENTRYPOINT ["/path/dedicated_command"]
එසේ නොමැතිනම්, ඔබට පොදු අරමුණු සඳහා රූපයක් සෑදීමට අවශ්ය නම්, ඔබට ENTRYPOINTනිශ්චිතව දක්වා නොමැති අතර CMD ["/path/dedicated_command"]තර්ක ඉදිරිපත් කිරීමෙන් ඔබට සැකසුම අභිබවා යා හැකි බැවින් භාවිතා කළ හැකිය docker run.
උදාහරණයක් ලෙස, ඔබේ ඩොකර්ෆයිල් නම්:
FROM debian:wheezy
ENTRYPOINT ["/bin/ping"]
CMD ["localhost"]
කිසිදු තර්කයක් නොමැතිව රූපය ධාවනය කිරීමෙන් දේශීය හොස්ට් පිං වනු ඇත:
$ docker run -it test
PING localhost (127.0.0.1): 48 data bytes
56 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.096 ms
56 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.088 ms
56 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.088 ms
^C--- localhost ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.088/0.091/0.096/0.000 ms
දැන්, රූපය තර්කයක් සමඟ ධාවනය කිරීමෙන් තර්කය පිං වනු ඇත:
$ docker run -it test google.com
PING google.com (173.194.45.70): 48 data bytes
56 bytes from 173.194.45.70: icmp_seq=0 ttl=55 time=32.583 ms
56 bytes from 173.194.45.70: icmp_seq=2 ttl=55 time=30.327 ms
56 bytes from 173.194.45.70: icmp_seq=4 ttl=55 time=46.379 ms
^C--- google.com ping statistics ---
5 packets transmitted, 3 packets received, 40% packet loss
round-trip min/avg/max/stddev = 30.327/36.430/46.379/7.095 ms
සංසන්දනය කිරීම සඳහා, ඔබේ ඩොකර්ෆයිල් නම්:
FROM debian:wheezy
CMD ["/bin/ping", "localhost"]
කිසිදු තර්කයක් නොමැතිව රූපය ධාවනය කිරීමෙන් දේශීය හොස්ට් පිං වනු ඇත:
$ docker run -it test
PING localhost (127.0.0.1): 48 data bytes
56 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.076 ms
56 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.087 ms
56 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.090 ms
^C--- localhost ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.076/0.084/0.090/0.000 ms
නමුත් තර්කයක් සමඟ රූපය ධාවනය කිරීමෙන් තර්කය ක්රියාත්මක වේ:
docker run -it test bash
root@e8bb7249b843:/#
ඊටත් වඩා විස්තර සඳහා බ්රයන් ඩීහැමර්ගේ මෙම ලිපිය බලන්න:
https://www.ctl.io/developers/blog/post/dockerfile-entrypoint-vs-cmd/