devcontainer
ファイル構成
.devcontainer
├ .env
├ devcontainer.json
└ docker-compose.yml
devcontainer.json
要素
dockerComposeFile
service
composeファイルで命名したサービス名を指定
そのコンテナに入ることになる
workspaceFolder
extensions
shutdownAction
"shutdownAction": "none",
開発用環境例
Alpine
FROM alpine:3.14
ARG USERNAME
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
RUN apk update && \
apk add --no-cache sudo tzdata git openssh
RUN addgroup -g ${USER_GID} ${USERNAME} && \
adduser -D -u ${USER_UID} -s /bin/sh ${USERNAME} -G wheel ${USERNAME} && \
echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
Debian
FROM ~~~FROM php:8.0-apache
# define
ARG USERNAME
ARG USER_UID=1000
ARG USER_GID=$USER_UID
# install
RUN apt -y update && \
apt -y upgrade && \
apt -y install sudo tzdata git
# add user
RUN useradd --uid ${USER_UID} --create-home --shell /bin/sh -G sudo,root ${USERNAME} && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# setting setup.sh
COPY setup.sh /var/setup.sh
RUN chmod 700 /var/setup.sh && \
chown ${USERNAME}:${USERNAME} /var/setup.sh
CMD /var/setup.sh
Tips
ポートの不具合でうまくいかない