Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/duskmoon314/dev-env
Duskmoon's dev-env in docker image based on ubuntu
https://github.com/duskmoon314/dev-env
docker
Last synced: 12 days ago
JSON representation
Duskmoon's dev-env in docker image based on ubuntu
- Host: GitHub
- URL: https://github.com/duskmoon314/dev-env
- Owner: duskmoon314
- License: mit
- Created: 2021-09-20T08:38:10.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-28T02:29:19.000Z (4 months ago)
- Last Synced: 2024-10-10T20:49:59.781Z (28 days ago)
- Topics: docker
- Language: Shell
- Homepage: https://hub.docker.com/repository/docker/duskmoon/dev-env
- Size: 67.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# duskmoon/dev-env
Migrating my development environment to docker image
[docker hub](https://hub.docker.com/repository/docker/duskmoon/dev-env) / [github packages](https://github.com/duskmoon314/dev-env/pkgs/container/dev-env)
## Usage
```bash
# clone the repository
git clone https://github.com/duskmoon314/dev-env.git# cd to working directory
cd /path/to/your/working/directory# run the container
USER_BASE_IMG= HOST_DIR=$(pwd) make -C /path/to/dev-env user
```You can find all available ``s in the below section or on [docker hub](https://hub.docker.com/repository/docker/duskmoon/dev-env) / [github packages](https://github.com/duskmoon314/dev-env/pkgs/container/dev-env).
### Example
Here is an example of running [rCore-Tutorial-v3](https://github.com/LearningOS/rCore-Tutorial-v3) in `qemu6-rust-22`
```bash
cd rCore-Tutorial-v3
USER_BASE_IMG=qemu6-rust-22 HOST_DIR=$(pwd) make -C ~/dev-env user
# in the container
cd os
make run
```[![asciicast](https://asciinema.org/a/491777.svg)](https://asciinema.org/a/491777)
### Convenient way to use
1. Edit the `Makefile`
To be more specific, edit the `USER_BASE_IMG` in `Makefile` to your desired image.
2. add line like the following to your `.bashrc` / `.zshrc`
```bash
alias dev-env="HOST_DIR=$(pwd) make -C /path/to/dev-env user"
```3. run `dev-env` in your working directory
## List of environments
- base
base image with common packages
### packages
- git
- ssh
- ca-certificates
- build-essential
- iproute2
- iputils-ping
- curl
- wget
- neovim### tags
- base-18: ubuntu 18.04
- base-20: ubuntu 20.04
- base-22: ubuntu 22.04- rust
add rust based on base image
### packages
- rustup
- cargo
- rust stable minimal### tags
- rust-18: rust-stable ubuntu 18.04
- rust-20: rust-stable ubuntu 20.04
- rust-22: rust-stable ubuntu 22.04- qemu
add qemu based on base image
### packages
- qemu 5.2.0/6.2.0/7.0.0
### tags
- qemu5-18: qemu5.2.0 ubuntu 18.04
- qemu5-20: qemu5.2.0 ubuntu 20.04
- qemu5-22: qemu5.2.0 ubuntu 22.04
- qemu6-18: qemu6.2.0 ubuntu 18.04
- qemu6-20: qemu6.2.0 ubuntu 20.04
- qemu6-22: qemu6.2.0 ubuntu 22.04
- qemu7-18: qemu7.0.0 ubuntu 18.04
- qemu7-20: qemu7.0.0 ubuntu 20.04
- qemu7-22: qemu7.0.0 ubuntu 22.04- qemu-rust
add qemu & rust based on base image
### tags
- qemu5-rust-18: qemu5.2.0 rust-stable ubuntu 18.04
- qemu5-rust-20: qemu5.2.0 rust-stable ubuntu 20.04
- qemu5-rust-22: qemu5.2.0 rust-stable ubuntu 22.04
- qemu6-rust-18: qemu6.2.0 rust-stable ubuntu 18.04
- qemu6-rust-20: qemu6.2.0 rust-stable ubuntu 20.04
- qemu6-rust-22: qemu6.2.0 rust-stable ubuntu 22.04
- qemu7-rust-18: qemu7.0.0 rust-stable ubuntu 18.04
- qemu7-rust-20: qemu7.0.0 rust-stable ubuntu 20.04
- qemu7-rust-22: qemu7.0.0 rust-stable ubuntu 22.04- go
add go based on base image
### packages
- go 1.18.3
### tags
- go-18: go 1.18.3 ubuntu 18.04
- go-20: go 1.18.3 ubuntu 20.04
- go-22: go 1.18.3 ubuntu 22.04- go-rust
add go & rust based on base image
### tags
- go-rust-18: go 1.18.3 rust-stable ubuntu 18.04
- go-rust-20: go 1.18.3 rust-stable ubuntu 20.04
- go-rust-22: go 1.18.3 rust-stable ubuntu 22.04