docker: Add interactive sessions
Provide a nice interface when using the container interactively.
This commit is contained in:
parent
6e3c76ea23
commit
114de48b20
3
docker/.bash_aliases
Normal file
3
docker/.bash_aliases
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Hijack this file to set this PS1, visually indicating to the user that we are running the docker container
|
||||
|
||||
PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[1;35m\]<$IMAGE_NAME>\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
|
|
@ -1,5 +1,7 @@
|
|||
FROM rustlang/rust:nightly
|
||||
|
||||
ENV IMAGE_NAME=redox-os-docker
|
||||
|
||||
RUN set -ex; \
|
||||
apt-get update; \
|
||||
apt-get install -q -y --no-install-recommends \
|
||||
|
@ -30,8 +32,8 @@ RUN set -ex; \
|
|||
apt-get clean -q -y; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
COPY entrypoint.sh /usr/local/bin/
|
||||
COPY .bash_aliases /etc/skel/
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
ENTRYPOINT ["bash", "/usr/local/bin/entrypoint.sh"]
|
||||
CMD ["/bin/bash"]
|
||||
|
|
|
@ -52,6 +52,17 @@ docker run --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
|
|||
-v redox-"$(id -u)-$(id -g)"-rustup:/usr/local/rustup \
|
||||
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm redox make fetch all
|
||||
```
|
||||
### Run the container interactively
|
||||
```shell
|
||||
docker run --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
|
||||
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
|
||||
-v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \
|
||||
-v redox-"$(id -u)-$(id -g)"-rustup:/usr/local/rustup \
|
||||
-v "$(pwd):$(pwd)" -w "$(pwd)" --rm -it redox
|
||||
```
|
||||
|
||||
#### Demo
|
||||

|
||||
|
||||
### Clear the named volume containing the cargo cache
|
||||
```shell
|
||||
|
|
BIN
docker/interactive_demo.gif
Normal file
BIN
docker/interactive_demo.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 946 KiB |
Loading…
Reference in a new issue