用Dockerfile创建无密码sudo用户(Alpine、Debian、Ubuntu、Centos)

介绍的内容

    • Alpine、Debian、Ubuntu、Centosの例です

uidとデフォルトshell設定を含みます

结论

    • Alpine linux他はsudoerの作り方が似てます

 

    dockerのvolumeでpermission denied問題解決や、作りたいときに使えます

开始介绍

目录结构

可以在https://github.com/cheekykorkind/qiita-example/tree/master/dockerfiles/no-password-sudoer 查看全部源代码。

allD.png

Dockerfile的内容

    • AlpineDockerfile

Alpine linuxだけがsudoerの作り方が違う気がします

FROM alpine:3.11

RUN apk add sudo

RUN adduser -D -u 1001 -s /bin/sh -G wheel alpine-sudoer
RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
    CentosDockerfile

FROM centos:7

RUN yum -y install sudo

RUN useradd --uid 1001 --create-home --shell /bin/bash -G wheel,root centos-sudoer
RUN echo '%wheel ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
    DebianDockerfile
FROM debian:buster-slim

RUN apt update && apt install -y sudo

RUN useradd --uid 1001 --create-home --shell /bin/sh -G sudo,root debian-sudoer
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
    UbuntuDockerfile
FROM ubuntu:18.04

RUN apt update && apt install -y sudo

RUN useradd --uid 1001 --create-home --shell /bin/bash -G sudo,root ubuntu-sudoer
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

这是一个试验的顺序

checkSudoers.png