เพิ่ม nonroot user และ เปลี่ยน timezone ให้กับ Dockerfile ubuntu
![เพิ่ม nonroot user และ เปลี่ยน timezone ให้กับ Dockerfile ubuntu](/content/images/size/w960/2023/03/add-nonroot-timezone-dockerfile-ubuntu.webp)
ปกติผมจะใช้งาน Dockerfile แบบ Alpine มาตลอดเพราะมันเบา แต่บ้างงานก็จำเป็นต้องใช้งาน Ubuntu เป็น Dockerfile ด้วย ซึ่งในทุกครั้งที่ทำ ผมจำเป็นต้องเพิ่ม nonroot user ไว้ และเปลี่ยน timezone เป็น Bangkok ซะก่อน
และนี่คือ Dockerfile ที่เป็น ubuntu base สำหรับ Nodejs
FROM node:16
COPY ./ /usr/app
RUN apt-get update && \
apt-get install -y sudo && \
ln -fs /usr/share/zoneinfo/Asia/Bangkok /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata && \
useradd --create-home --shell /bin/bash nonroot && \
echo "nonroot ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
EXPOSE 3001
USER nonroot
WORKDIR /usr/app
CMD [ "node", "server.js" ]
นำไปใช้และดัดแปลงกันตามสะดวก...
Comments ()