devcontainer.jsonを手動で作成する

vscodeのDevcontainer拡張機能のdevcontainer.jsonを手動で作成するのに自分なりの必要最低限をまとめる。

以下のような構成でファイルを置く。

/workspace/.devcontainer/devcontainer.json
/workspace/docker-compose.yml
/workspace/Dockerfile
/workspace/.env

.devcontainerディレクトリを作り、その中にdevcontainer.json を作り以下のようにする

{
    "dockerComposeFile": "../docker-compose.yml",
    "service": "react",
    "workspaceFolder": "/workspace",
    "containerUser": "myuser",
}

次にdocker-compose.ymlを以下のようにする。react というサービス名にした。

services:
  react:
    build:
      context: .
      args:
        - http_proxy
        - https_proxy
        - USER_UID
        - USER_GID
    environment:
      - http_proxy
      - https_proxy
    volumes:
      - ./:/workspace
    command: bash
    tty: true
    ports:
      - 3000:3000

次にDockerfile 。コンテナ内の開発用ユーザをmyuserとして用意する。USER_UIDUSER_GID はビルドの引数として受け取る。USER_UIDUSER_GIDはローカル環境と同じUIDGIDにすることでコンテナ内で生成されたファイルの所有権を同一にするものである。

#
# 開発用
#
FROM node:22-bookworm


ARG http_proxy
ARG https_proxy
RUN apt update -y &&\
    apt install -y git curl
WORKDIR /workspace

# Set default values for UID and GID if not provided
ARG USER_NAME=myuser
ARG USER_UID=$USER_UID
ARG USER_GID=$USER_GID

# Create a non-root user with a specific UID and GID
RUN groupadd -g $USER_GID $USER_NAME \
    && useradd -u $USER_UID -g $USER_GID -ms /bin/bash $USER_NAME

# Change ownership of the working directory
RUN chown -R $USER_NAME:$USER_NAME /workspace

続いて.env ここでUIDGIDを指定することで開発コンテナ内のUIDGIDを柔軟に変更できるようにする。

USER_UID=1001
USER_GID=1001
Udemy 独学でのアプリ開発に限界を感じたら

プログラミング初学者の皆さんに、 Udemy を強くお勧めしたいと思います。 Udemy は世界中のトップレベルのプログラミング講師が提供するオンライン講座を取り揃えています。以下は、 Udemy で学ぶことのメリットについての詳細です。

1. Udemy の豊富なコースの選択肢

Udemyには、数千ものコースがあります。初心者から上級者まで、プログラミングのあらゆるレベルを網羅しています。また、様々なプログラミング言語やツールに関するコースも多数あり、希望に合わせたコースを選ぶことができます。

2. 実践的な学習方法

Udemyのコースは、理論だけでなく実践的な学習も行えます。多くのコースには、プログラムの作成や実際のプロジェクトに取り組む演習が含まれています。これにより、理論だけでなく実践的なスキルも身につけることができます。

3. Udemy には質の高い講師陣

Udemyの講師陣には、世界中のトップレベルのプログラマーが多数在籍しています。彼らは、実務での経験を活かして、分かりやすい講義を行っています。

4. 初学者が始めるのにとても手頃な価格

Udemyのコースは、他のオンライン講座と比べて手頃な価格で提供されています。また、一度購入すると、終身アクセスが得られるので、自分のペースで学習することができます。

以上の理由から、プログラミング初学者の方には、Udemyが最適な学習プラットフォームであると考えられます。ぜひ一度、Udemyのコースを体験してみてください。


ウェブ開発の人気オンラインコース


ITとソフトウェアの人気オンラインコース


デザインの人気オンラインコース