vscode_devcontainer
devcontainer
ファイル構成
.devcontainer ├ .env ├ devcontainer.json └ docker-compose.yml
devcontainer.json
要素
dockerComposeFile
- そのまま
service
- composeファイルで命名したサービス名を指定
- そのコンテナに入ることになる
workspaceFolder
- コンテナ内のワークディレクトリ
extensions
- 拡張機能
shutdownAction
- 接続終了時の挙動を設定できる
- 下記設定だと、接続終了してもコンテナが起動し続ける
"shutdownAction": "none",
開発用環境例
- 細かいソースはGitHubにて 3)
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
ポートの不具合でうまくいかない
- 異なるポートを指定するとうまくいったりする
1)
devcontainer.json reference, Visual Studio Code, https://code.visualstudio.com/docs/remote/devcontainerjson-reference, 2021/06/04
2)
“Remote-Containers: Close Remote Connection” should not shutdown a container that VsCode did not start, GitHub, https://github.com/microsoft/vscode-remote-release/issues/4203, 2021/06/14
3)
PONzu-0529/devcontainer, https://github.com/PONzu-0529/devcontainer, GitHub, 2021/07/08
vscode_devcontainer.txt · 最終更新: 2021/09/29 20:26 by 127.0.0.1