Tagata fa'aoga ile Docker

Andrey Kopylov, tatou CTO, alofa, faʻaaogaina ma faʻalauiloa Docker. I se tala fou, na ia faʻamatalaina pe faʻapefea ona fatuina tagata faʻaoga i Docker. Faʻasaʻo galuega ma i latou, aisea e le tatau ai ona tuʻuina tagata faʻaoga i aia tatau ma auala e foia ai le faʻafitauli o faʻailoga le fetaui i le Dockerfile.

O faʻagasologa uma i totonu o le koneteina o le a faʻatautaia e pei o le aʻa faʻaoga, seivagana ua e faʻamaonia i se auala faʻapitoa. E foliga mai e faigofie tele, aua o lenei tagata faʻaoga e leai ni tapulaa. O le mea lea e sese ai le galue o le aʻa mai se vaaiga saogalemu. Afai e leai se tasi i lo latou mafaufau lelei e galue i luga o le komepiuta i le lotoifale ma aia tatau, ona tele lea e faʻatautaia faiga i lalo o aʻa i totonu o pusa.

E i ai i taimi uma faʻamaʻi e mafai ai e malware ona sola ese mai le koneteina ma oʻo i luga o le komepiuta talimalo. I le manatu o le sili ona leaga, e tatau ona tatou mautinoa o gaioiga i totonu o le atigipusa e faʻatautaia e se tagata faʻaoga e leai ni aia i luga o le masini talimalo.

Fausia se tagata fa'aoga

O le fatuina o se tagata faʻaoga i totonu o se atigipusa e leai se eseesega mai le fatuina i Linux tufatufaga. Ae ui i lea, e mafai ona eseese tulafono mo ata faavae eseese.

Mo tufatufaga e faŹ»avae i luga debian E manaŹ»omia ona e faŹ»aopoopo mea nei i lau Dockerfile:

RUN groupadd --gid 2000 node 
  && useradd --uid 2000 --gid node --shell /bin/bash --create-home node

Mo alpine:

RUN addgroup -g 2000 node 
    && adduser -u 2000 -G node -s /bin/sh -D node

Fa'agasolo faiga mai le tagata fa'aoga

Ina ia fa'agasolo uma fa'agasologa mulimuli ane o se tagata fa'aoga UID 2000, tamo'e:

USER 2000

Ina ia faʻagasolo uma gaioiga mulimuli ane e pei o le tagata faʻaoga node, tamoe:

USER node

Faitau atili i fa'amaumauga.

Fa'amauina voluma

Pe a faʻapipiʻi voluma i totonu o se atigipusa, tuʻuina atu i le tagata faʻaoga le tomai e faitau ma / pe tusi faila. Ina ia faia lenei mea, o le UID (GID) o le tagata faʻaoga i totonu o le koneteina ma le tagata faʻaoga i fafo atu o le koneteina o loʻo i ai faʻatagaga talafeagai e maua ai le faila e tatau ona fetaui. I lenei tulaga, e le afaina le igoa ole igoa.

E masani lava i luga o se komepiuta Linux, o le UID ma le GID a le tagata faʻaoga e tutusa ma le 1000. O nei faʻamatalaga e tuʻuina atu i le tagata muamua na faʻaaogaina le komepiuta.

E faigofie le su'eina o au fa'amatalaga:

id

O le ae mauaina faʻamatalaga atoatoa e uiga i lou tagata faʻaoga.
Suia le 2000 mai faʻataʻitaʻiga ma lau faʻamatalaga ma o le a lelei mea uma.

Tofia se UID ma le GID i se tagata fa'aoga

Afai na faia muamua le tagata faʻaoga, ae e te manaʻomia le suia o faʻamatalaga, e mafai ona e faia e pei o lenei:

RUN usermod -u 1000 node 
  && groupmod -g 1000 node

Afai o loʻo e faʻaaogaina le ata pito i luga o le alpine, e tatau ona e faʻapipiʻi le afifi ata:

RUN apk add —no-cache shadow

Tu'u le ID fa'aoga i totonu o le koneteina pe a fausia le ata

Afai e fetaui lau ID ma ID o tagata uma o loʻo galulue i le poloketi, ona faʻamaonia lea o le ID i le Dockerfile. Ae ui i lea, e masani lava e le fetaui ID faʻaoga.

E le o manino vave le auala e ausia ai le mea e te manaʻo ai. Mo aʻu, o le mea sili lea ona faigata i le faagasologa o le faʻatautaia o Docker. E le iloa e le to'atele o tagata fa'aoga o lo'o fa'aogaina e iai vaega eseese o le olaga o se ata. Muamua, o le ata e faʻapipiʻiina e faʻaaoga ai se Dockerfile. Pe a taʻavale se atigipusa mai se ata, e le toe faʻaaogaina le Dockerfile.

E tatau ona tupu le fausiaina o tagata pe a fausia le ata. E fa'apea fo'i le fa'atatauina o le tagata fa'aoga o lo'o fa'agasolo ai faiga. O lona uiga e tatau ona tatou pasia le UID (GID) i totonu o le koneteina.

O faŹ»atonuga e faŹ»aaogaina e faŹ»aoga ai fesuiaiga i fafo i le Dockerfile ENV Šø ARG. Fa'atusatusaga auiliili o fa'atonuga iinei.

faila faila

ARG UID=1000
ARG GID=1000
ENV UID=${UID}
ENV GID=${GID}
RUN usermod -u $UID node 
  && groupmod -g $GID node

E mafai ona e pasia finauga e ala i le docker-compose pei o lenei:

fai fai-fai

build:
  context: ./src/backend
  args:
    UID: 1000
    GID: 1000

PS Ina ia faʻatautaia uma mea faʻapitoa a Docker, e le lava le faitau o faʻamaumauga poʻo tala. E manaʻomia lou faʻataʻitaʻiga tele, e tatau ona e maua se lagona mo Docker.

puna: www.habr.com

FaŹ»atau talimalo faŹ»atuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers šŸ”„ Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster