国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Docker命令

docker run

原文

docker run 概述

docker進(jìn)程運(yùn)行與獨(dú)立的容器中,而容器是宿主機(jī)的一個(gè)進(jìn)程。宿主機(jī)可以使本地的也可以是遠(yuǎn)程的。每當(dāng)執(zhí)行docker run之后,容器進(jìn)程式獨(dú)立運(yùn)行的,他有自己的文件系統(tǒng)、網(wǎng)絡(luò)以及與主機(jī)隔離的進(jìn)程??。

這里將介紹如何使用docker run運(yùn)行容器以及容器資源。

命令使用

一個(gè)docker run命令使用如下:

$ docker run [options] image[:tag|digest] [command] [ags...]

docker run 命令必須指定一個(gè)容器鏡像,鏡像開(kāi)發(fā)者可以定義鏡像的一些默認(rèn)值:

  • 前臺(tái)還是后臺(tái)運(yùn)行;
  • 容器身份標(biāo)識(shí);
  • 網(wǎng)絡(luò)設(shè)置;
  • 運(yùn)行時(shí)對(duì)CPU和內(nèi)存約束。

開(kāi)發(fā)者可以通過(guò)docker run [options]添加或者修改鏡像的默認(rèn)設(shè)置。此外,開(kāi)發(fā)者幾乎可以完全覆蓋掉容器運(yùn)行時(shí)的默認(rèn)設(shè)置。正因?yàn)?code>docker run能修改鏡像和容器的默認(rèn)設(shè)置,所以他的[options]可選項(xiàng)要比其他任何docker命令都要多。

要知道更多的[options],移步:options type

特殊運(yùn)維選項(xiàng)

最好只是懂得docker run命令的人去使用這些選項(xiàng)!

  • detached vs foreground
    • detached (-d)
    • foreground
  • container identification
    • name (--name)
    • PID equivalent
  • IPC settings (--ipc)
  • networking settings
  • restart policies (--restart)
  • clean up (--rm)
  • runtime contraint on resources
  • runtime privilege and Linux capabilities

Detached VS Foreground

當(dāng)你運(yùn)行Docker容器的時(shí)候你需要決定是要在后臺(tái)運(yùn)行還是默認(rèn)前臺(tái)運(yùn)行,當(dāng)你選擇后臺(tái)運(yùn)行時(shí)會(huì)在命令執(zhí)行后打印出最新運(yùn)行的容器ID。

-d=false: Detached mode: Run container in the background, print new container id.

后臺(tái)運(yùn)行 Detached (-d)

想要讓你的容器以后臺(tái)方式運(yùn)行只需要在使用參數(shù)-d=true 或者-d即可。docker設(shè)計(jì)的默認(rèn)情況下,如果你的容器以后臺(tái)方式運(yùn)行,只有在父進(jìn)程即docker進(jìn)程退出的時(shí)候才會(huì)去把容器退出,除非你使用了--rm選項(xiàng)。如果你在運(yùn)行容器時(shí)將-d--rm兩個(gè)選項(xiàng)一起使用,那么容器會(huì)在退出或者后臺(tái)進(jìn)程停止的的時(shí)候自動(dòng)移除掉(只要一個(gè)情況便會(huì)自動(dòng)移除鏡像)。

dokcer容器后臺(tái)運(yùn)行是不能通過(guò)service x start來(lái)啟動(dòng)的,比如想啟動(dòng)一個(gè)后臺(tái)運(yùn)行的nginx服務(wù):

$ docker run -p 80:80 my_image service nginx start

這樣雖然啟動(dòng)了容器內(nèi)的nginx服務(wù),但是是不可用的,因?yàn)檫@種方式違背了后臺(tái)運(yùn)行容器的使用規(guī)范。nginx服務(wù)雖然啟動(dòng)了,但是他的所屬容器服務(wù)已經(jīng)停了,導(dǎo)致nginx服務(wù)是不可用的。如果想啟動(dòng)一個(gè)nginx服務(wù)請(qǐng)使用如下命令:

docker run -p 80:80 my_image nginx -g 'daemon off;'

-p 說(shuō)明: -p 宿主機(jī)port:容器port

當(dāng)容器后臺(tái)運(yùn)行之后便不回響應(yīng)命令行的的相關(guān)操作,可以通過(guò)網(wǎng)絡(luò)連接或者文件掛載方式查看容器運(yùn)行的輸入輸出日志??梢酝ㄟ^(guò)docker attach來(lái)操作。

前臺(tái)運(yùn)行 Foreground

在不指定-d的情況下,容器默認(rèn)是前臺(tái)運(yùn)行的,可以看到容器運(yùn)行時(shí)候的輸入輸出以及錯(cuò)誤信息日志。容器甚至還可以模擬終端輸入輸出(TTY),配置項(xiàng)如下:

-a=[]            : Attach to `STDIN`, `STDOUT` and/or `STDERR`-t               : Allocate a pseudo-tty--sig-proxy=true : Proxy all received singals to process (non-TTY mode only)-i               : Keep STDIN open even if not attached

如果你沒(méi)有指定-a參數(shù),docker默認(rèn)會(huì)指定stdoutstderr,你也可以任意指定你想要的終端顯示信息,例如:

$ docker run -a stdin -a stdout -i -t ubuntu /bin/bashroot@cddd4552dc38:/# lsbin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  varroot@cddd4552dc38:/#

為了開(kāi)啟容器終端,你必須指定參數(shù) -i -t。通常情況下-i -t會(huì)一起使用-it,注意如果容器需要從一個(gè)pipe接收輸入?yún)?shù)時(shí)是不能使用-t的,例如:

$ echo test | docker run -i busybox cat

容器身份ID

容器名稱 Name (--name)

定義一個(gè)容器ID有三種方式:

Identifier typeExample value
UUID long identifier“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”
UUID short identifier“f78375b1c487”
Name”evil_ptolemy“

UUID是由docker的后臺(tái)進(jìn)程創(chuàng)建的。如果你沒(méi)有指定容器名稱,那么docker會(huì)默認(rèn)生成一個(gè)隨機(jī)字符串名字。如果你指定了容器的名字,不管是選擇前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行甚至docker網(wǎng)絡(luò)配置的時(shí)候,你都可以在通過(guò)名字name來(lái)引用該容器。

PID

為了方便管理,你可以選擇讓docker將容器ID寫(xiě)入到一個(gè)文件中。這個(gè)功能類似于一些程序會(huì)將進(jìn)程PID寫(xiě)入到文件中,例如:

--cidfile="": Write the container ID to the file  

Image[:tag]

雖然給一個(gè)容器指定ID不是嚴(yán)格的要求規(guī)范,但是你可以在啟動(dòng)容器的時(shí)候指定容器的標(biāo)簽iamge:tag,例如:

$ docker run ubuntu:14.04

Image[@digest]

使用V2或之后的鏡像格式制作的鏡像文件具有摘要內(nèi)存尋址功能。只要生成鏡像的參數(shù)和方式?jīng)]有改變,那么這個(gè)鏡像的摘要是可預(yù)測(cè)和可引用的。

例如下面這個(gè)運(yùn)行一個(gè)從alpine拉取的鏡像:

鏡像摘要:sha256:9cacb71397b640eca97488cf08582ae4e4068513101088e9f96c9814bfda95e0

$ docker run alpine@sha256:9cacb71397b640eca97488cf08582ae4e4068513101088e9f96c9814bfda95e0 date

...

果然docker run是參數(shù)最多的命令,篇幅太多了,先翻譯到這里,大致使用已經(jīng)涵蓋了,先去翻譯接下來(lái)的命令了。

更多信息請(qǐng)參考原文

更多參數(shù)說(shuō)明:

參數(shù)說(shuō)明
-a stdin指定標(biāo)準(zhǔn)輸入輸出類型,可選:-a stdin -a stdout -a stderr
-d后臺(tái)運(yùn)行并返回容器ID
-i以交互式模式運(yùn)行容器,通常和-t一起使用
-t為容器分配一個(gè)偽輸入終端, 通常與-i一起使用
-p端口映射宿主機(jī)port:容器port
--name="nginx_001"為容器制定一個(gè)名稱
--dns 8.8.8.8指定容器使用的DNS服務(wù)器,默認(rèn)與宿主機(jī)一致
--dns-search example.com指定容器DNS搜索域名,默認(rèn)與宿主機(jī)一致
-h "host_001"指定容器的hostname
-e username='cat'設(shè)置環(huán)境變量
--env-file=[]從指定文件讀入環(huán)境變量
--cpuset="0-2" or --cpuset="0,1,2"綁定容器到指定CPU運(yùn)行
-m設(shè)置容器使用內(nèi)存最大值
--net="bridge"指定容器的網(wǎng)絡(luò)連接類型,支持:bridge/host/none/container四種類型
--link=[]添加連接到另一個(gè)容器
--expose=[]開(kāi)放一個(gè)或多個(gè)端口
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
低成本的無(wú)線打?。簅penwrt上通過(guò)Docker容器實(shí)現(xiàn)Airprint
誰(shuí)說(shuō)前端不用懂,手摸手 Docker 從入門(mén)到實(shí)踐
跟我一起學(xué)docker(八)–Dockerfile – IT人故事會(huì)
Docker 制作Nginx鏡像
Kubernetes和docker----1.開(kāi)始使用k8s和docker
Docker基礎(chǔ)與實(shí)戰(zhàn),看這一篇就夠了
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服