Skip to content
An`s Weblog
Go back

Working with Non-privileged User

1. Mục đích của chỉ thị USER

1.1. Cấu hình Dockerfile tạo user không có quyền root (CentOS)

FROM centos:latest

## Tạo user cloud_user dùng shell bash
RUN useradd -ms /bin/bash cloud_user

## Thiết lập user mặc định cho container
USER cloud_user

Ghi chú: -m: tạo home directory (/home/cloud_user), -s /bin/bash: chỉ định shell mặc định.

1.2. Build và khởi chạy Container

docker image build -t centos7/nonroot:v1 .

docker container run -it --name test-build centos7/nonroot:v1 /bin/bash

Kết quả: Khi đính kèm vào container, tài khoản đăng nhập là cloud_user ➜ không có quyền quản trị root.

1.3. Hướng dẫn truy cập quyền Root trong Container khi cần Debug

docker container exec -it -u 0 test-build /bin/bash

Ghi chú: Tham số -u 0 (hoặc -u root) cho phép mở phiên làm việc mới dưới quyền root (UID 0) để phục vụ kiểm tra/sửa lỗi.


2. Thực hành cấu hình an toàn với ứng dụng Node.js

2.1. Cấu trúc Dockerfile mẫu

FROM node:12

RUN useradd -ms /bin/bash node_user
USER node_user

COPY ./src /home/node_user
WORKDIR /home/node_user

RUN npm install
EXPOSE 3000
CMD ["npm", "start"]

2.2. Build và khởi chạy Container Node.js

## Build Image
docker image build -t linuxacademy/weather-app-nonroot:v1 .

## Khởi chạy Container
docker container run -d \
  --name weather-app-nonroot \
  -p 8086:3000 \
  linuxacademy/weather-app-nonroot:v1

2.3. Kiểm tra hoạt động ứng dụng

curl localhost:8086

3. Tổng kết


Share this post:

Previous Post
Order of Execution
Next Post
Build Arguments