A development environment optimized for JavaScript, TypeScript, and Node.js projects.
769
JSDev is a streamlined Docker image tailored for JavaScript, TypeScript, and Node.js development. Built on Ubuntu 22.04, it provides a robust and customizable environment, equipping developers with all the essential tools to build, test, and deploy modern web applications efficiently.
For developers who require Docker tools within their development environment, an extended version of this image is also available, integrating essential Docker utilities seamlessly.
brakmic/jsdev:latestjsdev user with passwordless sudo for enhanced security.brakmic/jsdev-docker:latestbrakmic/jsdev:latestdocker-ce): Core Docker functionality for container management.docker-ce-cli): Command-line interface for interacting with Docker.containerd.io): High-level container runtime.docker-buildx-plugin): Advanced builder CLI plugin for multi-platform builds.docker-compose-plugin): Tool for defining and running multi-container Docker applications.jsdev user is added to the docker group, allowing Docker commands to be executed without sudo.docker pull brakmic/jsdev:latest
docker pull brakmic/jsdev-docker:latest
To start a container using the jsdev image:
docker run -it --name my-jsdev-container brakmic/jsdev:latest
This command will launch an interactive bash shell within the container.
To start a container using the jsdev-docker image with Docker tools:
docker run -it --name my-jsdev-docker-container brakmic/jsdev-docker:latest
This command will launch an interactive bash shell within the container, with Docker tools installed and configured for the jsdev user.
To leverage the full potential of the JSDev Docker images within Visual Studio Code:
Create a .devcontainer Directory:
In the root of your project, create a .devcontainer folder.
Add devcontainer.json:
Inside .devcontainer, create a devcontainer.json file with the following content:
{
"name": "JSDev Container",
"image": "brakmic/jsdev:latest", // Use "brakmic/jsdev-docker:latest" if Docker tools are needed
"workspaceFolder": "/workspace",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
"customizations": {
"vscode": {
"settings": {
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true
}
}
}
},
"mounts": [
"source=${localWorkspaceFolder}/.devcontainer/setup-workspace.mjs,target=/workspace/.devcontainer/setup-workspace.mjs,type=bind"
],
"postCreateCommand": "node /workspace/.devcontainer/setup-workspace.mjs && ln -sf /workspace/dev.code-workspace /home/jsdev/.vscode-server/dev.code-workspace",
"remoteUser": "jsdev"
}
"image" field to "brakmic/jsdev-docker:latest".Add Setup Scripts:
Place any necessary setup scripts (e.g., setup-workspace.mjs) inside the .devcontainer directory.
Open in VS Code:
Open your project in VS Code. You should see a prompt to reopen the project in a Dev Container. Confirm to start using the JSDev environment.
Feel free to modify the Dockerfiles or the devcontainer.json to suit your specific development needs. Whether it's adding new global packages, configuring additional tools, or adjusting user settings, JSDev is designed to be flexible and adaptable.
Contributions are welcome! If you have suggestions, bug fixes, or improvements, please open an issue or submit a pull request.
The extended Docker image brakmic/jsdev-docker:latest is designed for developers who require Docker functionalities within their development environment. This setup is ideal for those working on containerized applications, microservices, or requiring Docker for testing and deployment processes.
docker-ce): Enables containerization and management of Docker containers.docker-ce-cli): Provides the command-line interface to interact with Docker.containerd.io): An industry-standard container runtime.docker-buildx-plugin): Facilitates advanced image building capabilities, including multi-platform builds.docker-compose-plugin): Simplifies the management of multi-container Docker applications.Docker Group Membership: The jsdev user is part of the docker group, allowing seamless execution of Docker commands without the need for sudo. Verify by running:
groups
Expected output should include docker:
jsdev sudo docker
After running the extended container, you can verify Docker installation:
Check Docker Version:
docker --version
Expected Output:
Docker version 20.10.7, build f0df350
Run a Test Docker Container:
docker run hello-world
Expected Output:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
This project is licensed under the MIT License.
Content type
Image
Digest
sha256:0f90d570e…
Size
394.8 MB
Last updated
over 1 year ago
docker pull brakmic/jsdev