InglesPransesEspanyol

Ad


OnWorks favicon

docker-build - Online sa Cloud

Patakbuhin ang docker-build sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command docker-build na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


docker-build - Bumuo ng bagong imahe mula sa source code sa PATH

SINOPSIS


docker magtayo [--build-arg[=[]]] [--cpu-shares[=0]] [--cgroup-magulang[=CGROUP-MAgulang]]
[- Tumulong] [-f|--file[=PATH/Dockerfile]] [--force-rm] [--paghihiwalay[=default]] [--walang-cache]
[--hilahin] [-q|--tahimik] [--rm[=totoo]] [-t|--tag[=[]]] [-m|--alaala[=ALAALA]]
[--memory-swap[=LIMIT]] [--shm-laki[=SHM-SIZE]] [--cpu-panahon[=0]] [--cpu-quota[=0]]
[--cpuset-cpus[=CPUSET-CPUS]] [--cpuset-mems[=CPUSET-MEMS]] [--ulimit[=[]]] DAAN | URL | -

DESCRIPTION


Babasahin nito ang Dockerfile mula sa direktoryo na tinukoy sa PATH. Nagpapadala rin ito ng anuman
iba pang mga file at direktoryo na matatagpuan sa kasalukuyang direktoryo sa Docker daemon. Ang
ang mga nilalaman ng direktoryong ito ay gagamitin ng ADD mga command na matatagpuan sa loob ng Dockerfile.

Babala, magpapadala ito ng maraming data sa Docker daemon depende sa nilalaman ng
ang kasalukuyang direktoryo. Ang build ay pinapatakbo ng Docker daemon, hindi ng CLI, kaya ang kabuuan
dapat ilipat ang konteksto sa daemon. Ang Docker CLI ay nag-uulat ng "Pagpapadala ng konteksto ng build
sa Docker daemon" kapag ang konteksto ay ipinadala sa daemon.

Kapag ang URL sa isang tarball archive o sa isang Dockerfile ay ibinigay, walang kontekstong ipinapadala
mula sa kliyente hanggang sa Docker daemon. Sa kasong ito, ang Dockerfile sa ugat ng
archive at ang natitirang bahagi ng archive ay gagamitin bilang konteksto ng build. Kapag ang isang Git
imbakan ay nakatakda bilang ang URL, ang imbakan ay na-clone nang lokal at pagkatapos ay ipinadala bilang ang
konteksto.

Opsyon


-f, --file=PATH/Dockerfile
Path sa Dockerfile na gagamitin. Kung ang landas ay isang kamag-anak na landas at ikaw ay
pagbuo mula sa isang lokal na direktoryo, kung gayon ang landas ay dapat na nauugnay doon
direktoryo. Kung nagtatayo ka mula sa isang malayong URL na tumuturo sa alinman sa a
tarball o isang Git repository, kung gayon ang landas ay dapat na nauugnay sa ugat ng
ang malayong konteksto. Sa lahat ng kaso, ang file ay dapat nasa loob ng konteksto ng build.
Ang default ay dockerfile.

--build-arg=nagbabago
pangalan at halaga ng a buildarg.

Halimbawa, kung gusto mong magpasa ng halaga para sa http_proxy, Gamitin ang
--build-arg=http_proxy="http://some.proxy.url"

Ipinapasa ng mga user ang mga halagang ito sa oras ng pagbuo. Ginagamit ng Docker ang buildargs bilang
konteksto ng kapaligiran para sa (mga) command na tumatakbo sa pamamagitan ng Dockerfile's RUN pagtuturo
o para sa variable na pagpapalawak sa iba pang mga tagubilin sa Dockerfile. Hindi ito sinadya
para sa pagpasa ng mga lihim na halaga. ⟨/reference/builder/#arg⟩

--force-rm=totoo|hindi totoo
Palaging alisin ang mga intermediate na container, kahit na matapos ang hindi matagumpay na mga build. Ang default ay
hindi totoo.

--paghihiwalay="default"
Tinutukoy ng paghihiwalay ang uri ng teknolohiya ng paghihiwalay na ginagamit ng mga lalagyan.

--walang-cache=totoo|hindi totoo
Huwag gumamit ng cache kapag binubuo ang imahe. Ang default ay hindi totoo.

- Tumulong
I-print ang pahayag ng paggamit

--hilahin=totoo|hindi totoo
Palaging subukang kumuha ng mas bagong bersyon ng larawan. Ang default ay hindi totoo.

-q, --tahimik=totoo|hindi totoo
Pigilan ang build output at i-print ang image ID sa tagumpay. Ang default ay hindi totoo.

--rm=totoo|hindi totoo
Alisin ang mga intermediate na lalagyan pagkatapos ng matagumpay na pagbuo. Ang default ay totoo.

-t, --tag=""
Mga pangalan ng repositoryo (at opsyonal na may mga tag) na ilalapat sa magreresultang larawan sa
kaso ng tagumpay.

-m, --alaala=ALAALA
Limitasyon ng memorya

--memory-swap=LIMIT
Isang limit na halaga na katumbas ng memory plus swap. Dapat gamitin kasama ng -m (--alaala) bandila. Ang
magpalitan LIMIT dapat palaging mas malaki kaysa sa -m (--alaala) halaga.

Ang format ng LIMIT is [ ]. Unit ay maaaring b (bytes), k (kilobytes), m
(megabytes), o g (gigabytes). Kung hindi ka tumukoy ng unit, b Ginagamit. Itakda ang LIMIT sa -1 sa
paganahin ang walang limitasyong pagpapalit.

--shm-laki=SHM-SIZE
Sukat ng /dev/shm. Ang format ay . numero dapat mas malaki kaysa 0.
Opsyonal ang unit at maaaring maging b (bytes), k (kilobytes), m (megabytes), o g (gigabytes).
Kung aalisin mo ang unit, gumagamit ang system ng mga byte.
Kung aalisin mo ang laki nang buo, ginagamit ng system 64m.

--cpu-shares=0
Mga bahagi ng CPU (kamag-anak na timbang).

Bilang default, lahat ng container ay nakakakuha ng parehong proporsyon ng mga cycle ng CPU.
Ang mga bahagi ng CPU ay isang 'relative weight', na nauugnay sa default na setting ng 1024.
Ang default na halaga na ito ay tinukoy dito:

pusa /sys/fs/cgroup/cpu/cpu.shares
1024

Mababago mo ang proporsyon na ito sa pamamagitan ng pagsasaayos sa bahagi ng CPU ng container
pagtimbang na may kaugnayan sa pagtimbang ng lahat ng iba pang tumatakbong lalagyan.

Upang baguhin ang proporsyon mula sa default na 1024, gamitin ang --cpu-shares
flag para itakda ang weighting sa 2 o mas mataas.

Flag ng bahagi ng CPU ng container
{C0} 60% ng CPU --cpu-shares=614 (614 ay 60% ng 1024)
{C1} 40% ng CPU --cpu-shares=410 (410 ay 40% ng 1024)

Ang proporsyon ay inilalapat lamang kapag ang mga prosesong masinsinang CPU ay tumatakbo.
Kapag ang mga gawain sa isang lalagyan ay walang ginagawa, ang iba pang mga lalagyan ay maaaring gumamit ng
natitirang oras ng CPU. Ang aktwal na dami ng oras ng CPU na ginamit ay nag-iiba depende sa
ang bilang ng mga lalagyan na tumatakbo sa system.

Halimbawa, isaalang-alang ang tatlong lalagyan, kung saan mayroon ang isa --cpu-shares=1024 at
dalawa pang meron --cpu-shares=512. Kapag naproseso sa lahat ng tatlo
sinusubukan ng mga container na gamitin ang 100% ng CPU, matatanggap ng unang container
50% ng kabuuang oras ng CPU. Kung magdagdag ka ng pang-apat na lalagyan na may --cpu-shares=1024,
ang unang lalagyan ay nakakakuha lamang ng 33% ng CPU. Ang natitirang mga lalagyan
makatanggap ng 16.5%, 16.5% at 33% ng CPU.

Container CPU share Flag CPU time
{C0} 100% --cpu-shares=1024 33%
{C1} 50% --cpu-shares=512 16.5%
{C2} 50% --cpu-shares=512 16.5%
{C4} 100% --cpu-shares=1024 33%

Sa isang multi-core system, ang mga bahagi ng oras ng CPU ay ipinamamahagi sa buong CPU
mga core. Kahit na limitado ang isang container sa mas mababa sa 100% ng oras ng CPU, magagawa nito
gumamit ng 100% ng bawat indibidwal na CPU core.

Halimbawa, isaalang-alang ang isang system na may higit sa tatlong mga core. Kung magsisimula ka ng isa
lalagyan {C0} sa --cpu-shares=512 nagpapatakbo ng isang proseso, at isa pang lalagyan
{C1} sa --cpu-shares=1024 nagpapatakbo ng dalawang proseso, maaari itong magresulta sa mga sumusunod
dibisyon ng mga bahagi ng CPU:

PID container CPU share
100 {C0} 0 100% ng CPU0
101 {C1} 1 100% ng CPU1
102 {C1} 2 100% ng CPU2

--cpu-panahon=0
Limitahan ang panahon ng CPU CFS (Completely Fair Scheduler).

Limitahan ang paggamit ng CPU ng container. Ang watawat na ito ay nagiging sanhi ng paghigpit ng kernel sa
paggamit ng CPU ng container sa panahong tinukoy mo.

--cpu-quota=0
Limitahan ang quota ng CPU CFS (Completely Fair Scheduler).

Bilang default, tumatakbo ang mga container na may buong mapagkukunan ng CPU. Ang flag na ito ay nagiging sanhi ng kernel sa
paghigpitan ang paggamit ng CPU ng container sa quota na iyong tinukoy.

--cpuset-cpus=CPUSET-CPUS
Mga CPU kung saan papayagan ang pagpapatupad (0-3, 0,1).

--cpuset-mems=CPUSET-MEMS
Mga memory node (MEM) kung saan papayagan ang pagpapatupad (0-3, 0,1). Epektibo lamang sa
NUMA system.

Halimbawa, kung mayroon kang apat na memory node sa iyong system (0-3), gamitin --cpuset-mems=0,1 sa
siguraduhin na ang mga proseso sa iyong Docker container ay gumagamit lamang ng memorya mula sa unang dalawang memorya
mga node.

--cgroup-magulang=CGROUP-MAgulang
Daan sa mga pangkat sa ilalim kung saan ang lalagyan cgroup ay nilikha.

Kung ang landas ay hindi ganap, ang landas ay itinuturing na may kaugnayan sa mga pangkat landas ng
proseso ng init. Ang mga Cgroup ay nilikha kung wala pa ang mga ito.

--ulimit=[]
Ulimit ang mga pagpipilian

Para sa karagdagang impormasyon tungkol sa limitasyon makita
⟨https://docs.docker.com/reference/commandline/run/#setting-ulimits-in-a-container⟩

HALIMBAWA


gusali an larawan paggamit a dockerfile na matatagpuan loob ang kasalukuyan direktoryo


Maaaring itayo ang mga imahe ng Docker gamit ang build command at isang Dockerfile:

build ng docker.

Sa panahon ng proseso ng pagbuo, ang Docker ay lumilikha ng mga intermediate na imahe. Upang mapanatili sila, ikaw
dapat tahasang itakda --rm=false.

docker build --rm=false .

Ang isang mahusay na kasanayan ay ang gumawa ng isang sub-directory na may kaugnay na pangalan at lumikha ng Dockerfile
sa direktoryo na iyon. Halimbawa, ang isang direktoryo na tinatawag na mongo ay maaaring maglaman ng Dockerfile to
lumikha ng imahe ng Docker MongoDB. Gayundin, maaaring gamitin ang isa pang direktoryo na tinatawag na httpd
mag-imbak ng mga Dockerfile para sa mga imahe ng web server ng Apache.

Isa ring magandang kasanayan na idagdag ang mga file na kinakailangan para sa larawan sa sub-directory.
Ang mga file na ito ay tutukuyin kasama ng KOPYA or ADD tagubilin sa dockerfile.

Tandaan: Kung magsasama ka ng tar file (isang magandang kasanayan), pagkatapos ay awtomatikong i-extract ng Docker
ang mga nilalaman ng tar file na tinukoy sa loob ng ADD pagtuturo sa tinukoy
target.

gusali an larawan at pagpapangalan na larawan


Ang isang mahusay na kasanayan ay upang bigyan ng pangalan ang imahe na iyong binuo. Tandaan na a-z0-9-_ lamang.
dapat gamitin para sa pagkakapare-pareho. Walang mahirap na mga tuntunin dito ngunit ito ay pinakamahusay na ibigay ang
pagsasaalang-alang ng mga pangalan.

Ang -t/--tag Ang bandila ay ginagamit upang palitan ang pangalan ng isang imahe. Narito ang ilang halimbawa:

Kahit na ito ay hindi isang magandang kasanayan, ang mga pangalan ng imahe ay maaaring maging arbitrary:

docker build -t myimage .

Ang isang mas mahusay na diskarte ay ang magbigay ng isang ganap na kwalipikado at makabuluhang repositoryo, pangalan, at tag
(kung saan ang tag sa kontekstong ito ay nangangahulugang ang qualifier pagkatapos ng ":"). Sa halimbawang ito tayo
bumuo ng isang JBoss na imahe para sa Fedora repository at bigyan ito ng bersyon 1.0:

docker build -t fedora/jboss:1.0 .

Ang susunod na halimbawa ay para sa "whenry" na imbakan ng gumagamit at gumagamit ng Fedora at JBoss at nagbibigay
ito ang bersyon 2.1:

docker build -t whenry/fedora-jboss:v2.1 .

Kung hindi ka magbibigay ng tag ng bersyon, magtatalaga ang Docker pinakahuli:

docker build -t whenry/fedora-jboss .

Kapag inilista mo ang mga larawan, ang larawan sa itaas ay magkakaroon ng tag pinakahuli.

Maaari kang maglapat ng maraming tag sa isang larawan. Halimbawa, maaari mong ilapat ang pinakahuli tag sa a
bagong gawang larawan at magdagdag ng isa pang tag na tumutukoy sa isang partikular na bersyon. Halimbawa, sa
i-tag ang isang larawan bilang whenry/fedora-jboss:pinakabago at whenry/fedora-jboss:v2.1, gamitin ang
sumusunod:

docker build -t whenry/fedora-jboss:latest -t whenry/fedora-jboss:v2.1 .

Kaya ang pagpapalit ng pangalan ng isang imahe ay arbitrary ngunit dapat isaalang-alang ang isang kapaki-pakinabang na kumbensyon
na makatuwiran para sa mga mamimili at dapat ding isaalang-alang ang komunidad ng Docker
mga kombensiyon.

gusali an larawan paggamit a URL


Iko-clone nito ang tinukoy na repositoryo ng GitHub mula sa URL at gagamitin ito bilang konteksto. Ang
Ang Dockerfile sa ugat ng repositoryo ay ginagamit bilang Dockerfile. Gumagana lamang ito kung ang
Ang imbakan ng GitHub ay isang nakalaang imbakan.

build ng docker github.com/scollier/purpletest

Tandaan: Maaari kang magtakda ng arbitrary na Git repository sa pamamagitan ng git:// iskema

gusali an larawan paggamit a URL sa a na-tarball kaugnay na kahulugan


Ipapadala nito ang mismong URL sa Docker daemon. Kukunin ng daemon ang tarball
i-archive, i-decompress ito at gamitin ang mga nilalaman nito bilang konteksto ng build. Ang Dockerfile sa
Ang ugat ng archive at ang natitirang bahagi ng archive ay gagamitin bilang konteksto ng build.
Kung pumasa ka sa isang -f PATH/Dockerfile opsyon din, hahanapin ng system ang file na iyon
sa loob ng laman ng tarball.

docker build -f dev/Dockerfile https://10.10.10.1/docker/context.tar.gz

Tandaan: ang mga sinusuportahang format ng compression ay 'xz', 'bzip2', 'gzip' at 'identity' (hindi
siksik)

Tukuyin paghihiwalay teknolohiya para lalagyan (--paghihiwalay)


Kapaki-pakinabang ang opsyong ito sa mga sitwasyon kung saan nagpapatakbo ka ng mga container ng Docker sa Windows.
Ang --paghihiwalay= ang opsyon ay nagtatakda ng teknolohiya ng paghihiwalay ng lalagyan. Sa Linux, ang tanging
sinusuportahan ay ang default opsyon na gumagamit ng mga namespace ng Linux. Sa Microsoft Windows, magagawa mo
tukuyin ang mga halagang ito:

· default: Gamitin ang value na tinukoy ng Docker daemon's --exec-opt . Kung ang demonyo ang
hindi tumukoy ng teknolohiya ng paghihiwalay, ginagamit ng Microsoft Windows paraan bilang default nito
halaga.

· paraan: Namespace isolation lang.

· hyperv: Hyper-V hypervisor partition-based na paghihiwalay.

Tinutukoy ang --paghihiwalay ang flag na walang value ay pareho sa setting
--isolation="default".

KASAYSAYAN


Marso 2014, Orihinal na pinagsama-sama ni William Henry (whenry sa redhat dot com) batay sa
docker.com pinagmumulan ng materyal at panloob na gawain. Hunyo 2014, na-update ni Sven Dowideit
[protektado ng email]⟩ Hunyo 2015, na-update ni Sally O'Malley ⟨[protektado ng email]

Gumamit ng docker-build online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad