Docker Tutorial: Basics of the Docker Run Command
Talaan ng mga Nilalaman:
- Docker Run Command
- Patakbuhin ang lalagyan sa Foreground
- Patakbuhin ang lalagyan sa Natanggal na Mode
- Alisin ang lalagyan Pagkatapos Lumabas
- Itakda ang Pangalan ng lalagyan
- Pag-publish ng Mga Ports na lalagyan
- Pagbabahagi ng Data (Pag-mount ng Mga volume)
- Patakbuhin ang Container
- Konklusyon
Ang Docker ay isang platform na nagbibigay-daan sa iyo upang makabuo, magsubok, at mag-deploy ng mga application bilang portable, sapat na mga self container na tumatakbo kahit saan.
Ang utos ng
docker run
lumilikha ng isang lalagyan mula sa isang naibigay na imahe at sinisimulan ang lalagyan gamit ang isang naibigay na utos. Ito ay isa sa mga unang utos na dapat mong maging pamilyar sa simula ng pagtatrabaho sa Docker., gagamitin namin ang opisyal na imahe ng Nginx upang ipakita ang iba't ibang mga paraan upang magpatakbo ng isang lalagyan ng Docker.
Docker Run Command
Ang utos ng
docker run
tumatagal ng sumusunod na form:
docker run IMAGE
Ang pangalan ng imahe mula sa kung saan ang lalagyan ay dapat nilikha ay ang tanging kinakailangang argumento para sa utos ng
docker run
docker. Kung ang imahe ay hindi naroroon sa lokal na sistema, ito ay nakuha mula sa pagpapatala.
Kung walang tinukoy na utos, ang utos na tinukoy sa Dockerfile's
CMD
o
ENTRYPOINT
tagubilin ay isinasagawa kapag pinapatakbo ang lalagyan.
Simula mula sa bersyon 1.13, ang Docker CLI ay naayos, at lahat ng mga utos ay na-grupo sa ilalim ng bagay na nakikipag-ugnay sa kanila.
Dahil ang
run
command ay nakikipag-ugnay sa mga lalagyan, ngayon ito ay isang subcommand ng
docker container
ng docker. Ang syntax ng bagong utos ay ang mga sumusunod:
docker container run IMAGE
Ang luma, pre 1.13 syntax ay sinusuportahan pa rin. Sa ilalim ng talukbong, ang utos ng
docker run
ay isang alyas sa
docker container run
. Hinihikayat ang mga gumagamit na gamitin ang bagong synt syntax.
Ang isang listahan ng lahat ng mga pagpipilian sa
docker container run
ay matatagpuan sa pahina ng dokumentasyon ng Docker.
Patakbuhin ang lalagyan sa Foreground
Bilang default, kapag walang pagpipilian na ibinigay sa utos ng
docker run
, ang proseso ng ugat ay sinimulan sa harapan. Nangangahulugan ito na ang karaniwang pag-input, output, at pagkakamali mula sa proseso ng ugat ay nakakabit sa sesyon ng terminal.
docker container run nginx
Ang output ng proseso ng ngx ay ipapakita sa iyong terminal. Dahil, walang mga koneksyon sa webserver, walang laman ang terminal.
Upang ihinto ang lalagyan, wakasan ang pagpapatakbo ng proseso ng Nginx sa pamamagitan ng pagpindot sa
CTRL+C
Patakbuhin ang lalagyan sa Natanggal na Mode
Upang mapanatili ang lalagyan kapag lumabas ka ng session session, simulan ito sa isang hiwalay na mode. Katulad ito sa pagpapatakbo ng isang proseso ng Linux sa background.
Gamitin ang
-d
pagpipilian upang magsimula ng isang hiwalay na lalagyan:
docker container run -d nginx
050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
Ang harangin na lalagyan ay hihinto kapag natapos ang proseso ng ugat.
Maaari mong ilista ang mga tumatakbo na lalagyan gamit ang utos ng
docker container ls
.
Upang i-attach ang iyong terminal sa proseso ng ugat na ugat ng lalagyan, gamitin ang utos ng
docker container attach
.
Alisin ang lalagyan Pagkatapos Lumabas
Bilang default, kapag lumabas ang lalagyan, ang system system nito ay nagpapatuloy sa host system.
Ang mga pagpipilian
--rm
nagsasabi sa
--rm
docker run
command na alisin ang lalagyan kapag awtomatikong lumabas ito:
docker container run --rm nginx
Ang imahe ng Nginx ay maaaring hindi ang pinakamahusay na halimbawa upang linisin ang file system ng lalagyan pagkatapos lumabas ang lalagyan. Ang pagpipiliang ito ay karaniwang ginagamit sa mga foreground container na nagsasagawa ng mga panandaliang gawain tulad ng mga pagsubok o backup ng database.
Itakda ang Pangalan ng lalagyan
Sa Docker, ang bawat lalagyan ay nakilala sa pamamagitan ng
UUID
at pangalan nito. Bilang default, kung hindi malinaw na itinakda, ang pangalan ng lalagyan ay awtomatikong nabuo ng Docker daemon.
Gamitin ang pagpipilian sa
--name
upang magtalaga ng isang pasadyang pangalan sa lalagyan:
docker container run -d --name my_nginx nginx
Ang pangalan ng lalagyan ay dapat na natatangi. Kung susubukan mong simulan ang isa pang lalagyan na may parehong pangalan, makakakuha ka ng isang error na katulad nito:
docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.
Patakbuhin ang
docker container ls -a
upang ilista ang lahat ng mga lalagyan, at makita ang kanilang mga pangalan:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx
Ang mga makabuluhang pangalan ay kapaki-pakinabang upang isangguni ang lalagyan sa loob ng isang network ng Docker o kapag nagpapatakbo ng mga utos ng docker CLI.
Pag-publish ng Mga Ports na lalagyan
Bilang default, kung walang nai-publish na mga port, ang proseso na tumatakbo sa lalagyan ay maa-access lamang mula sa loob ng lalagyan.
Ang paglalathala ng mga port ay nangangahulugan ng pagma-map sa mga container port sa mga host machine port upang ang mga port ay magagamit sa mga serbisyo sa labas ng Docker.
Upang mai-publish ang isang port gamitin ang mga pagpipilian na
-p
tulad ng sumusunod:
-p host_ip:host_port:container_port/protocol
- Kung walang tinukoy na
host_ip, ito ayhost_ipsa0.0.0.0. Kung walang tinukoy naprotocol, ito ay nagbabawas sa TCP.Upang mag-publish ng maramihang mga port, gumamit ng maramihang mga opsyon.
Upang i-mapa ang port ng TCP 80 (nginx) sa lalagyan upang port 8080 sa host localhost interface, tatakbo ka:
docker container run --name web_server -d -p 8080:80 nginx
Maaari mong i-verify na ang port ay nai-publish sa pamamagitan ng pagbubukas ng
http://localhost:8080
sa iyong browser o pagpapatakbo ng sumusunod na utos ng
curl
sa host ng Docker:
curl -I
Ang output ay magiging hitsura ng isang bagay tulad nito:
HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes
Pagbabahagi ng Data (Pag-mount ng Mga volume)
Kapag tumigil ang isang lalagyan, ang lahat ng data na nabuo ng lalagyan ay tinanggal. Ang Docker volume ay ang ginustong paraan upang gawin ang data na magpatuloy at ibahagi ito sa maraming mga lalagyan.
Upang lumikha at pamahalaan ang dami, gamitin ang mga pagpipilian na
-p
tulad ng sumusunod:
-v host_src:container_dest:options
- Ang
host_srcmaaaring maging isang ganap na landas sa isang file o direktoryo sa host o isang pinangalanang volume.Angcontainer_destay isang ganap na landas sa isang file o direktoryo sa lalagyan.Options ay maaaring magingrw(read-write) atro(read-only). Kung walang tinukoy na pagpipilian, ito ay nagbabala sarw.
Upang ipaliwanag kung paano ito gumagana, gumawa tayo ng isang direktoryo sa host at maglagay ng isang
index.html
file sa loob nito:
mkdir public_html
echo "Testing Docker Volumes" > public_html/index.html
Susunod, ilagay ang direktoryo ng
public_html
/usr/share/nginx/html
sa lalagyan:
docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
Sa halip na tukuyin ang ganap na landas sa direktoryo ng
public_html
, ginagamit namin ang utos na
$(pwd)
, na naglimbag sa kasalukuyang direktoryo ng pagtatrabaho.
Ngayon, kung nag-type ka ng
http://localhost:8080
sa iyong browser, dapat mong makita ang mga nilalaman ng
index.html
file. Maaari mo ring gamitin ang
curl
:
curl
Patakbuhin ang Container
Kapag nakikipag-ugnayan sa mga interactive na proseso tulad ng
bash
, gamitin ang
-i
at
-t
pagpipilian upang simulan ang lalagyan.
Ang mga pagpipilian na -ituro ay nagsasabi sa Docker na panatilihin ang karaniwang input na nakakabit sa terminal at maglaan ng isang pseudo-tty:
docker container run -it nginx /bin/bash
Ang shell ng lalagyan ng Bash ay idikit sa terminal, at magbabago ang command prompt:
root@1da70f1937f5:/#
Ngayon, maaari kang makipag-ugnay sa shell ng lalagyan at magpatakbo ng anumang utos sa loob nito.
Sa halimbawang ito, nagbigay kami ng isang utos (
/bin/bash
) bilang isang argumento sa
docker run
command na naisakatuparan sa halip na isang tinukoy sa Dockerfile.
Konklusyon
Ang Docker ay ang pamantayan para sa packaging at pag-aalis ng mga aplikasyon at isang mahalagang sangkap ng CI / CD, automation, at DevOps.
Ang
docker container run
command ay ginagamit upang lumikha at magpatakbo ng mga lalagyan ng pantalan.
Ang isa pang kasanayan na lumalaki ang katanyagan ay ang paggamit ng mga video game bilang mga tool sa pagsasanay. Ang maraming kaligtasan ng publiko at mga organisasyong militar ay gumagamit ng mga video game upang gayahin ang mga kondisyon ng field. (Halimbawa, ang labanan ng Amerikanong Hukbo ng digmaan, na binuo ng US Army, ay naging isang napakalaking matagumpay na tool sa pagrerekord para sa militar.) Ngunit hindi mo kailangang i-shoot ang Nazis upang makahanap ng halaga para sa mga laro s
Sa Regence Blue Cross / Blue Shield sa Portland, Oregon, ang mga miyembro ng IT department ay nakakakuha ng virtual na "mga token" para sa pagganap ilang mga gawain: Ang pag-reset ng password ng gumagamit ay nagkakahalaga ng 2 mga token. Ang pagpapatupad ng isang cost-saving na ideya ay kumikita ng 30 token. Ang mga empleyado ay maaaring "gastusin" ang mga token na ito upang maglaro ng mga laro ng mabilis at batay sa pagkakataon. Ang mga laro ay higit na katulad sa mga slot machine: Ang mga toke
Ang pag-urong ay may mga kumpanya sa buong mundo na nag-aagawan upang ipagtanggol ang mga gastos sa teknolohiya na may mga desperadong vendor na tumutugon sa pagliko, na nag-aalok ng mga diskuwento sa malalim na lisensya, na nagbibigay ng murang financing at nagpapahayag na mas masalimuot na ang kanilang mga produkto sa katunayan ay nagse-save ng mga customer ng pera. mayroong higit sa digmaang trench na nangyayari, ayon sa isang hanay ng mga tagamasid. Kapag ang ekonomiya ay lumiliko sa paligid
Halimbawa, ang mga vendor na nagbebenta ng software na mahalaga sa negosyo ngunit hindi nagbibigay ng mga customer ng isang competitive na kalamangan - - tulad ng mga tool sa pakikipagtulungan - kailangang mag-ampon ng mas simple, mas mura na mga modelo ng pagpepresyo o harapin ang mga kahihinatnan, ayon sa analyst ng Redmonk na si Michael Coté.
Katutubong plug-in architecture ng Brightcove para sa paglunsad ng App Cloud at Application Craft Ang Mobile Build ay ang pinakabagong mga halimbawa kung paano ang mga tool sa pag-unlad ng cross-platform para sa mga mobile app ay nagiging nagiging ulap-sentrik.
Ang katutubong plug-in na arkitekturang Brightcove para sa paglunsad ng Mobile Build ng App Cloud at Application Craft nito ay ang pinakabagong mga halimbawa kung paano i-cross







