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/master
With 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:latest
After reboot, your console is now switched to the one you choose.
rancher@burmilla:~$ sudo reboot
See 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
make
and debug - Push all your images to Docker Hub and test. (
ros console
can't specify tag, onlylatest
image 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-*console
to 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.