Using SUSE Leap Enterprise with Docker

Using SUSE Leap Enterprise with Docker

It's a little bit annoying to connect up all the parts for this. If you have a SLE15 system then credentials for SCC are automatically passed into containers via secrets.

But if you are on a non-SLE base, like myself with MacOS or OpenSUSE you'll need to provide these to the container in another way. The documentation is a bit tricky to search and connect up what you need but in summary:

  • Get [/etc/SUSEConnect]{.title-ref} and [/etc/zypp/credentials.d/SCCcredentials]{.title-ref} from an SLE install that has been registered. The SLE version does not matter.
  • Mount them into the image:
    docker ... -v /scc/SUSEConnect:/etc/SUSEConnect \
        -v /scc/SCCcredentials:/etc/zypp/credentials.d/SCCcredentials \
        ...
        registry.suse.com/suse/sle15:15.2

Now you can use the images from the SUSE registry. For example [docker pull registry.suse.com/suse/sle15:15.2]{.title-ref} and have working zypper within them.

If you want to add extra modules to your container (you can list what's available with container-suseconnect from an existing SLE container of the same version), you can do this by adding environment variables at startup. For example, to add dev tools like gdb:

    docker ... -e ADDITIONAL_MODULES=sle-module-development-tools \
        -v /scc/SUSEConnect:/etc/SUSEConnect \
        -v /scc/SCCcredentials:/etc/zypp/credentials.d/SCCcredentials \
        ...
        registry.suse.com/suse/sle15:15.2

This also works during builds to add extra modules.

HINT: SUSEConnect and SCCcredentials and not version dependent so will work in any image version.