Ko nga tukanga katoa i roto i te ipu ka rere hei kaiwhakamahi pakiaka, mena ka tohua e koe i tetahi huarahi motuhake. He tino watea tenei, na te mea kaore he here o tenei kaiwhakamahi. Koinei te take he he te mahi hei pakiaka mai i te tirohanga haumarutanga. Mena karekau he tangata tika e mahi ana i runga i te rorohiko o te rohe me nga mana pakiaka, he maha nga whakahaere i raro i te pakiaka i roto i nga ipu.
I nga wa katoa he ngarara ka taea e te malware te mawhiti mai i te ipu ka uru ki te rorohiko kaihautu. Ki te whakaaro ko te mea kino rawa atu, me whakarite maatau kei te whakahaerehia nga tikanga o roto o te ipu e tetahi kaiwhakamahi kaore he mana ki runga i te miihini manaaki.
Te hanga kaiwhakamahi
Ko te hanga i tetahi kaiwhakamahi i roto i te ipu kaore he rereke mai i te hanga i roto i nga tohatoha Linux. Heoi, ka rereke pea nga whakahau mo nga whakaahua turanga rereke.
Mo nga tohatoha-a-debian, me taapiri e koe nga mea e whai ake nei ki te Dockerfile:
RUN groupadd --gid 2000 node
&& useradd --uid 2000 --gid node --shell /bin/bash --create-home node
Mo te alpine:
RUN addgroup -g 2000 node
&& adduser -u 2000 -G node -s /bin/sh -D node
Te whakahaere i nga tukanga mai i te kaiwhakamahi
Hei whakahaere i nga tukanga ka whai ake hei kaiwhakamahi UID 2000, whakahaere:
USER 2000
Hei whakahaere i nga tukanga ka whai ake hei kaiwhakamahi node, whakahaere:
USER node
He maha ake i roto i
Whakanuia nga pukapuka
Ina whakairihia nga pukapuka ki roto i te ipu, hoatu ki te kaiwhakamahi te kaha ki te panui me te tuhi i nga konae. Hei mahi i tenei, me taurite te UID (GID) o te kaiwhakamahi i roto i te ipu me te kaiwhakamahi kei waho o te ipu kei a ia nga whakaaetanga tika ki te uru ki te konae. I tenei take, kaore he mea nui nga ingoa ingoa.
I te nuinga o nga wa i runga i te rorohiko Linux, ko te UID me te GID o te kaiwhakamahi he rite ki te 1000. Ko enei tohu ka tohua ki te kaiwhakamahi tuatahi o te rorohiko.
He ngawari te rapu i o tohu:
id
Ka whiwhi koe i nga korero matawhānui mo to kaiwhakamahi.
Whakakapihia te 2000 mai i nga tauira me to tautuhi ka pai nga mea katoa.
Te tuku UID me te GID ki tetahi kaiwhakamahi
Mena i hangaia te kaiwhakamahi i mua, engari me whakarereke e koe nga tohu tohu, ka taea e koe te mahi penei:
RUN usermod -u 1000 node
&& groupmod -g 1000 node
Mena kei te whakamahi koe i te ahua o te papa alpine, me whakauru koe i te kete atarangi:
RUN apk add —no-cache shadow
Te tuku i te ID kaiwhakamahi ki roto i te ipu i te wa e hanga ana te ahua
Mena ka rite to ID me nga TT o nga tangata katoa e mahi ana i te kaupapa, tohua tenei ID ki te Dockerfile. Heoi, i te nuinga o nga wa kaore nga ID kaiwhakamahi e taurite.
Me pehea te whakatutuki i nga mea e hiahia ana koe kaore i te marama tonu. Ki ahau nei, koinei te mea tino uaua i roto i te mahi whakahaere i a Docker. He maha nga kaiwhakamahi docker kaore i te mohio he rereke nga waahanga o te oranga o te ahua. Tuatahi, ka kohia te ahua ma te whakamahi i te Dockerfile. I te wa e whakahaere ana i tetahi ipu mai i te ahua, kua kore e whakamahia te Dockerfile.
Ko te hanga kaiwhakamahi me puta i te wa e hangaia ana te ahua. Ka pa ano ki te whakatau i te kaiwhakamahi kei raro i a ia nga mahi ka whakarewahia. Ko te tikanga me tuku te UID (GID) ki roto i te ipu.
Ka whakamahia nga tohutohu hei whakamahi i nga taurangi o waho i te Dockerfile
Dockerfile
ARG UID=1000
ARG GID=1000
ENV UID=${UID}
ENV GID=${GID}
RUN usermod -u $UID node
&& groupmod -g $GID node
Ka taea e koe te tuku tautohetohe ma te docker-compose penei:
te mahi a-toka
build:
context: ./src/backend
args:
UID: 1000
GID: 1000
PS Kia mohio ai koe ki nga ahuatanga katoa o Docker, kaore e ranea ki te panui i nga tuhinga me nga tuhinga. Me kaha koe ki te parakatihi, me whai whakaaro koe mo Docker.
Source: will.com