0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker + Next.js + Remote-Containers【VSCode】

Posted at

Docker + Next.js + Remote-Containers

.devcontainer/devcontainer.json
{
  "name": "myapp-frontend",
  "dockerComposeFile": [
    "../docker-compose.yml",
    "./docker-compose.extend.yml"
  ],
  "service": "frontend",
  "workspaceFolder": "/myapp-frontend",
  "customizations": {
    "vscode": {
      "extensions": [
        "EditorConfig.EditorConfig",
        "dbaeumer.vscode-eslint",
        "esbenp.prettier-vscode",
        "VisualStudioExptTeam.vscodeintellicode",
        "arcanis.vscode-zipfs",
        "bradlc.vscode-tailwindcss"
      ]
    }
  }
}
.devcontainer/Dockerfile
FROM node:16.15.0

ENV TZ=Asia/Tokyo
ARG USERNAME=node

RUN corepack enable npm
RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
  && mkdir /commandhistory \
  && touch /commandhistory/.bash_history \
  && chown -R ${USERNAME} /commandhistory \
  && echo ${SNIPPET} >> "/home/${USERNAME}/.bashrc"

USER ${USERNAME}
RUN mkdir -p /home/${USERNAME}/.vscode-server/extensions
WORKDIR /myapp-frontend

EXPOSE 3000
.devcontainer/docker-compose.extend.yml
version: '3.9'
services:
  frontend:
    build:
      context: .
      dockerfile: ./.devcontainer/Dockerfile
    volumes:
      - sources:/myapp-frontend
      - bashlog:/bashlog
      - vscode-extensions:/home/node/.vscode-server/extensions
    command: /bin/sh -c "while sleep 1000; do :; done"
volumes:
  sources:
  bashlog:
  vscode-extensions:
/Dockerfile
FROM node:16.15.0

ENV TZ=Asia/Tokyo

WORKDIR /myapp-frontend
RUN corepack enable npm
USER node

EXPOSE 3000
CMD ["yarn", "dev"]

/docker-compose.yml
version: '3.9'
services:
  frontend:
    build: .
    volumes:
      - .:/myapp-frontend
    environment:
      NODE_ENV: development
    ports:
      - 3000:3000
      - 9229:9229
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?