Lits'ebetso tsohle tse ka har'a setshelo li tla sebetsa joalo ka mosebelisi oa motso, ntle le haeba u e hlalosa ka tsela e ikhethang. Sena se bonahala se le bonolo haholo, hobane mosebelisi enoa ha a na lithibelo. Ke ka lebaka lena ho sebetsa joalo ka motso ho fosahetse ho latela pono ea ts'ireletso. Haeba ha ho na motho ea nang le kelello e nepahetseng ea sebetsang khomphuteng ea lehae ka litokelo tsa metso, joale ba bangata ba tsamaisa lits'ebetso ka har'a lijana.
Ho lula ho na le likokoana-hloko tse tla lumella malware ho tsoa ka har'a setshelo ebe o kena komporong e amohelang. Ho nka hore ho hobe ka ho fetesisa, re tlameha ho etsa bonnete ba hore lits'ebetso ka har'a sets'oants'o li tsamaisoa ke mosebelisi ea se nang litokelo life kapa life mochining oa moamoheli.
Ho theha mosebelisi
Ho theha mosebelisi ka har'a setshelo ha ho fapane le ho e theha kabong ea Linux. Leha ho le joalo, litaelo li ka fapana bakeng sa litšoantšo tse fapaneng tsa motheo.
Bakeng sa liphallelo tse thehiloeng ho debian, o hloka ho kenyelletsa tse latelang ho Dockerfile:
RUN groupadd --gid 2000 node
&& useradd --uid 2000 --gid node --shell /bin/bash --create-home node
Bakeng sa alpine:
RUN addgroup -g 2000 node
&& adduser -u 2000 -G node -s /bin/sh -D node
Ho tsamaisa lits'ebetso ho tsoa ho mosebelisi
Ho tsamaisa lits'ebetso tsohle tse latelang joalo ka mosebelisi ea nang le UID 2000, matha:
USER 2000
Ho tsamaisa lits'ebetso tsohle tse latelang joalo ka mosebelisi oa node, matha:
USER node
Bala haholoanyane ho
Ho phahamisa meqolo
Ha u kenya livolume ka har'a sets'oants'o, fa mosebelisi bokhoni ba ho bala le/kapa ho ngola lifaele. Ho etsa sena, UID (GID) ea mosebelisi ea ka har'a sets'oants'o le mosebelisi ea kantle ho sets'oants'o ea nang le tumello e nepahetseng ea ho fihlella faele e tlameha ho ts'oana. Tabeng ena, mabitso a basebelisi ha a na taba.
Hangata k'homphieutheng ea Linux, UID ea mosebedisi le GID li lekana le 1000. Litlhaloso tsena li abeloa mosebedisi oa pele oa khomphuta.
Ho bonolo ho fumana li-identifiers:
id
U tla fumana lintlha tse felletseng mabapi le mosebelisi oa hau.
Nka sebaka sa 2000 ho tsoa mehlala ka sesupo sa hau mme tsohle li tla loka.
Ho abela mosebelisi UID le GID
Haeba mosebelisi a entsoe pejana, empa o hloka ho fetola li-identifiers, o ka e etsa ka tsela ena:
RUN usermod -u 1000 node
&& groupmod -g 1000 node
Haeba u sebelisa setšoantšo sa setsi sa alpine, u lokela ho kenya sephutheloana sa moriti:
RUN apk add —no-cache shadow
Ho fetisa ID ea mosebelisi ka har'a setshelo ha u theha setšoantšo
Haeba ID ea hau le li-ID tsa batho bohle ba sebetsang morerong li tšoana, hlakisa feela ID ena ho Dockerfile. Leha ho le joalo, hangata li-ID tsa basebelisi ha li lumellane.
Tsela ea ho finyella seo u se batlang ha e hlake hang-hang. Ho 'na, ena e ne e le ntho e thata ka ho fetisisa ts'ebetsong ea ho tseba Docker. Basebelisi ba bangata ba li-docker ha ba hlokomele hore ho na le mekhahlelo e fapaneng bophelong ba setšoantšo. Taba ea pele, setšoantšo se bokelloa ho sebelisoa Dockerfile. Ha o tsamaisa setshelo ho tsoa setšoantšong, Dockerfile ha e sa sebelisoa.
Tlhahiso ea basebelisi e tlameha ho etsahala ha setšoantšo se hahiloe. Hoa sebetsa joalo ka ho khetholla mosebelisi eo lits'ebetso li qalisoang tlas'a bona. Sena se bolela hore ka tsela e itseng re tlameha ho fetisa UID (GID) ka har'a setshelo.
Litaelo li sebelisoa ho sebelisa mefuta e fapaneng ea kantle ho Dockerfile
dockerfile
ARG UID=1000
ARG GID=1000
ENV UID=${UID}
ENV GID=${GID}
RUN usermod -u $UID node
&& groupmod -g $GID node
O ka fetisa likhang ka docker-compose ka tsela ena:
qobella
build:
context: ./src/backend
args:
UID: 1000
GID: 1000
PS Ho tseba lintho tsohle tse rarahaneng tsa Docker, ha hoa lekana ho bala litokomane kapa lingoliloeng. O hloka ho ikoetlisa haholo, o hloka ho ikutloa ka Docker.
Source: www.habr.com