!Docker ぱっと使えるようになっておきたいなあ,と,普段使いにしてみようかな. コンテナは https://docs.docker.jp/develop/develop-images/dockerfile_best-practices.html Dockerfile で定義したイメージによって生成するコンテナは、 可能な限り一時的( エフェメラルephemeral )であるべきです。 一時的が意味するのは、コンテナとは停止および破棄可能であり、 その後も極めて最小限のセットアップと設定により、 再構築や置き換えが可能だからです。 だそうなので,普段使いにするにしてもぶくぶく太らせるのも,なにか違うようだけど. ディレクトリ構成 ├── docker-compose.yml ├── container/ │ ├── Dockerfile │ └── install.sh └── work/ とか用意して UID=$(id -u) GID=$(id -g) docker compose build docker compose up -d で起動. docker compose exec container bash でログインして,あれこれ. docker compose donw で片付け. Dokerfileとdocker-compose.yml,install.shを以下のように. Dockerfile FROM ubuntu:22.04 RUN apt update && apt install -y sudo RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime RUN chmod 755 /root/install.sh RUN /root/install.sh ARG UID ARG GID ENV USER=user \ GROUP=user \ HOME=/home/user RUN groupadd $GROUP -g ${GID:-1000} && \ useradd -g $GROUP -G sudo -u ${UID:-1000} -m -s /bin/bash $USER && \ echo 'user:password' | chpasswd && \ echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers USER $USER WORKDIR $HOME docker-compose.yml services: container: hostname: container build: context: ./container dockerfile: Dockerfile args: - UID=${UID- } - GID=${GID- } volumes: - ./work:/home/user stdin_open: true tty: true networks: network: {} networks: network: driver: bridge install.sh apt update