Docker console Images for BurmillaOS. (work in progress)
(forked from racher/os-services:v1.5.8)
BurmillaOS chooses Debian console as the default console & doesn't support any other consoles like Alpine, Ubuntu, Fedora that can be used on RancherOS.
But, Burmilla's Debian based default console is based on slim container.
I think, slim container is intended to be used as a base of application container, and not to be used as an interactive console. (For example, man page installation is blocked within slim container.)
Add the following settings to your cloud-init.yml to refer console image from this repository.
(You can use ros config, or directly edit /var/lib/rancher/conf/cloud-config.d/user_config.yml with sudo.)
rancher:
repositories:
console:
url: https://raw.githubusercontent.com/benok/burmilla-os-console/masterWith the above setting, you can find other consoles as like RancherOS.
rancher@burmilla:~$ sudo ros console list
disabled alpine
disabled debian
disabled debian_testing
enabled default
disabled fedora
disabled ubuntu
rancher@burmilla:~$Now, choose your favorite console.
rancher@burmilla:~$ sudo ros console enable debian
Pulling console (docker.io/benok/os-debianconsole:latest)...
latest: Pulling from benok/os-debianconsole
9b99af5931b3: Pull complete
31abf1b3ffe9: Pull complete
71b31c084f4a: Pull complete
f89c9533bcc8: Pull complete
a422cc09bdf6: Pull complete
Digest: sha256:5f8ec5e744b082aff176774827aac3385205dc15468a12f36f83214a97de75d6
Status: Downloaded newer image for benok/os-debianconsole:latestAfter reboot, your console is now switched to the one you choose.
rancher@burmilla:~$ sudo rebootSee also
Please use 'ros console enable' and reboot.
'ros console switch' doesn't work correctly since RancherOS era.
- based on non-slim image
- uses buster as Burmilla's default console uses (burmilla/os/#111)
- Followed most of the upstream changes
- ssh configuration is not changed from RancherOS's now. (I want to update this to recent Debian's default.)
- based on latest(current latest).
- Ubuntu official image is minimized, but not unminimized by intent.
- You can (unminimize easily)[https://askubuntu.com/a/1329222/383021].
- If you want to generate /etc/lsb-release as the default console, add "/etc/init.d/generate-lsb-release start" to runcmd.
runcmd:
- (your
- settings
- ...)
- /etc/init.d/generate-lsb-release start- Just updated to the "latest".
- Just confirmed no problem found within very basic usage. (package update/install, etc.)
- Not tested well. (Because I don't use these consoles usually.)
- Ceotos is deprecated.(Deprecated & have trouble around systemctl(/reboot))
- Clone or fork this repository.
- Change OS_REPO and yaml's docker registry config to your Docker Hub account.
- Change or Add images/10-(name)console/Dockerfile
- If you add new one, add (n*)/(name).yml (*first letter of new console name) and add entry to index.yml
- Build with
makeand debug - Push all your images to Docker Hub and test. (
ros consolecan't specify tag, onlylatestimage can be used.)
$ docker image push [your-account]/os-(name)console -a- Push changes to github and follow "How to Use".(changing url is required, of course.)
-
When you develop new or build new image and want to update to latest, you may need to switch once to other console(e.g.
default) and switch back, if not new image pulled collectly. -
use
system-docker pull benok/os-*consoleto pull updated image. -
If you updated index.yml, x/xxx.yml, you may have to clear /var/lib/rancher/cache. (It's cached for a while)
Original Build Instructions (from rancher/os-services)
Run make
As a pre-cursor to native multi-arch support, we leverage some features of dapper.
In the Dockerfiles, you'll see lines like:
FROM rancher/os-centosconsole-base
# FROM amd64=centos:7 arm64=skip arm=skip
The rancher/os-centosconsole-base does not actually exist. Dapper will download the
arch specific image listed in the commented out # FROM line, and tag that, so the
build can occur.
Console images also use special ENTRYPOINT and CMD settings, which are bind mounted into the container at run time:
ENTRYPOINT ["/usr/bin/ros", "entrypoint"]
The sshd is configured to accept logins from users in the docker group, and root is denied.