Bidh a h-uile pròiseas anns a 'ghobhar a' ruith mar neach-cleachdaidh bunaiteach, mura sònraich thu e ann an dòigh shònraichte. Tha e coltach gu bheil seo gu math goireasach, leis nach eil bacadh sam bith aig an neach-cleachdaidh seo. Sin as coireach gu bheil obrachadh mar fhreumh ceàrr bho shealladh tèarainteachd. Mura h-eil duine nan inntinn cheart ag obair air a’ choimpiutair ionadail le còraichean freumha, bidh mòran a’ ruith phròiseasan fo fhreumh ann an soithichean.
Tha an-còmhnaidh biastagan ann a leigeas le malware teicheadh bhon bhogsa agus faighinn air a’ choimpiutair aoigheachd. A’ gabhail ris an fheadhainn as miosa, feumaidh sinn dèanamh cinnteach gu bheil pròiseasan taobh a-staigh an t-soithich air an ruith le neach-cleachdaidh aig nach eil còraichean air an inneal aoigheachd.
A 'cruthachadh neach-cleachdaidh
Chan eil cruthachadh neach-cleachdaidh ann an soitheach eadar-dhealaichte bho bhith ga chruthachadh ann an sgaoilidhean Linux. Ach, faodaidh na h-òrdughan atharrachadh airson diofar ìomhaighean bunaiteach.
Airson sgaoilidhean stèidhichte air debian, feumaidh tu na leanas a chur ris an Dockerfile:
RUN groupadd --gid 2000 node
&& useradd --uid 2000 --gid node --shell /bin/bash --create-home node
Airson alpach:
RUN addgroup -g 2000 node
&& adduser -u 2000 -G node -s /bin/sh -D node
Pròiseasan ruith bhon neach-cleachdaidh
Gus a h-uile pròiseas às deidh sin a ruith mar neach-cleachdaidh le UID 2000, ruith:
USER 2000
Gus a h-uile pròiseas às deidh sin a ruith mar an neach-cleachdaidh nód, ruith:
USER node
Barrachd a-steach
A 'stàladh tomhas-lìonaidh
Nuair a bhios tu a’ cur suas leabhraichean am broinn soitheach, thoir comas don neach-cleachdaidh faidhlichean a leughadh agus/no a sgrìobhadh. Gus seo a dhèanamh, feumaidh UID (GID) an neach-cleachdaidh anns a’ ghobhar agus an neach-cleachdaidh taobh a-muigh an t-soithich aig a bheil na ceadan iomchaidh faighinn chun fhaidhle a bhith co-ionnan. Anns a 'chùis seo, chan eil diofar ainmean-cleachdaidh.
Gu tric air coimpiutair Linux, tha UID agus GID neach-cleachdaidh co-ionann ri 1000. Tha na h-aithnichearan sin air an sònrachadh don chiad neach-cleachdaidh den choimpiutair.
Tha e furasta faighinn a-mach d’ aithnichearan:
id
Gheibh thu fiosrachadh farsaing mun neach-cleachdaidh agad.
Cuir an aithnichear agad an àite 2000 bho na h-eisimpleirean agus bidh a h-uile dad gu math.
A’ sònrachadh UID agus GID do neach-cleachdaidh
Ma chaidh an cleachdaiche a chruthachadh roimhe seo, ach feumaidh tu na aithnichearan atharrachadh, faodaidh tu a dhèanamh mar seo:
RUN usermod -u 1000 node
&& groupmod -g 1000 node
Ma tha thu a’ cleachdadh an ìomhaigh bonn alpach, feumaidh tu am pasgan sgàile a stàladh:
RUN apk add —no-cache shadow
A’ dol seachad air an ID cleachdaiche taobh a-staigh an t-soithich nuair a bhios tu a’ togail an ìomhaigh
Ma tha an ID agad agus IDan nan daoine uile a tha ag obair air a’ phròiseact a’ maidseadh, dìreach sònraich an ID seo anns an Dockerfile. Ach, gu tric chan eil na IDan cleachdaiche a’ freagairt.
Chan eil e soilleir sa bhad ciamar a choileanas tu na tha thu ag iarraidh. Dhòmhsa, b’ e seo an rud as duilghe ann am pròiseas maighstireachd Docker. Tha mòran de luchd-cleachdaidh docker nach eil a 'tuigsinn gu bheil diofar ìrean ann am beatha ìomhaigh. An toiseach, tha an ìomhaigh air a chruinneachadh le bhith a’ cleachdadh Dockerfile. Nuair a bhios tu a’ ruith soitheach bho ìomhaigh, chan eilear a’ cleachdadh an Dockerfile tuilleadh.
Feumaidh cruthachadh cleachdaiche tachairt nuair a thèid an ìomhaigh a thogail. Tha an aon rud a 'buntainn ri bhith a' dearbhadh an neach-cleachdaidh fon tèid pròiseasan a chur air bhog. Tha seo a’ ciallachadh gum feum sinn dòigh air choireigin a dhol seachad air an UID (GID) taobh a-staigh an t-soithich.
Thathas a’ cleachdadh stiùiridhean gus caochladairean taobh a-muigh a chleachdadh anns an Dockerfile
Faidhle docker
ARG UID=1000
ARG GID=1000
ENV UID=${UID}
ENV GID=${GID}
RUN usermod -u $UID node
&& groupmod -g $GID node
Faodaidh tu argamaidean a thoirt seachad tro docker-compose mar seo:
docker-compose
build:
context: ./src/backend
args:
UID: 1000
GID: 1000
PS Gus maighstireachd a dhèanamh air a h-uile iom-fhillteachd aig Docker, chan eil e gu leòr na sgrìobhainnean no na h-artaigilean a leughadh. Feumaidh tu tòrr a chleachdadh, feumaidh tu faireachdainn fhaighinn airson Docker.
Source: www.habr.com