Video : Using Podman With Existing Dockerfiles (Oracle Database and ORDS)

Today’s video shows me using some of my existing Docker builds with Podman. Specifically a 19c database container and an Oracle REST Data Services (ORDS) container.

For those with an understanding of Docker, it should look really familiar, but it does introduce a twist in the form of a pod.

The video is based on this article.

You can see more information about containers here.

The star of today’s video is Bart Sjerps. It was really hard to find a piece of this recording that didn’t have James Morle wittering over everyone on it. πŸ™‚

Cheers

Tim…

Video : Install Podman on Oracle Linux 8 (OL8)

In today’s video we’ll take a look at installing Podman on Oracle Linux 8 (OL8).

This is based on the article here.

You can see more information about containers here.

The star of today’s video is John King. John’s been on the channel a couple of times before. Once to do a message to one of his super-fans, a work colleague of mine who was impressed that I know John, and once for a regular “.com” appearance. I blame the wife for the terrible audio. πŸ™‚

Cheers

Tim…

Oracle Database 19c on Fedora 32

Fedora 32 was released at the end of April (see here). Here comes the standard warning.

Here are the usual things I do when a new version of Fedora comes out.

I pushed a Vagrant build to GitHub.

So now you know how to do it, don’t. πŸ™‚

Cheers

Tim…

Oracle Linux 8 (OL8) : Podman

When Oracle Linux 8 (OL8) was released, one of the first things I did was check for the Oracle supplied Docker engine. Nothing.

Not to worry I thought. They are probably waiting for UEK6 to ship before they worry about the Docker engine. I pretty much left it at that. I wasn’t really in much of a rush. To be honest, a new version of Oracle Linux doesn’t really hit my radar until the Oracle database is certified on it. πŸ™‚

UEK6 went live in March and still no sign, so in a recent email exchange with Simon Coter I mentioned it, and was set on the path to Podman.

If I’m honest my first thought was, “Oh FFS! I’ve only just learnt Docker and now I’ve got to start again!” To qualify that, having used Oracle databases for 25 years, using Docker for about 2.5 years feels like I’ve only just started. πŸ™‚

First things first. We currently use Docker in production, so I wanted a route to OL8 without any substantial change, should I need it. So I did this.

It’s not a recommendation. Just something to keep in my back pocket.

After a quick bout of denial I sat down and started to work through some stuff with Podman. Time for a couple of quotes to set some context.

“What is Podman? Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. Containers can either be run as root or in rootless mode. Simply put: `alias docker=podman`.”

https://podman.io/

“The podmanbuildah, and skopeo container tools are provided in the Oracle Linux 8 release. These tools are compatible with the Open Container Initiative (OCI) and can be used to manage the same Linux containers that are produced and managed by Docker and other compatible container engines. Because these tools are light-weight and primarily focused on a subset of features, you can run them minus the overhead of working with a daemon process.”

Release Notes for Oracle Linux 8

After reading this, I was a little less daunted. I installed Podman on OL8 and started to play. That resulted in these posts.

The later is an example of how I run up my demo Docker system using Podman. It’s made up of a container for Oracle Database 19c, and a separate container running ORDS on Tomcat. You’ll notice I use my Docker builds with no changes. It just shows that from a basic usage perspective Podman=Docker.

A few quick things I noticed immediately when switching to Podman.

  • Networking is a little different. You define a pod to hold containers, and you expose services to the outside world at the Pod level. Containers inside the Pod can speak to each other. For the simple examples I’ve worked with is actually easier than using Docker networks.
  • There is a package called “podman-docker”, which allows you to use the Docker command, even though you are using Podman. I don’t really like this. I think it’s better to just stick to a regular alias if you feel the need to retain the Docker command. Better still, just get used to typing podman instead of docker.
  • There is no native equivalent of docker-compose. There is a podman-compose project you might want to try. Of course the name “Podman” gives you a clue about what you should really be doing. Defining pods. In addition to manually defining pods, they can get run from a YAML file that’s compatible with Kubernetes. You can generate these YAML files from an existing pod. I’ve not written up this aspect yet, but it’s coming. πŸ™‚

So far it’s been a pretty simple journey, but remember I’m a noob. The articles and my opinions on this will evolve over time.

A quick mention about Vagrant. When I am playing with Docker and Podman I use Vagrant to build a play VM. As a result of this stuff I’ve changed things around a little. If you look at my Vagrant respository you will see the old docker directory has gone and now we have these.

I’ve now pretty much ditched my OL7 Docker environment in favour of the OL8 Podman environment. The only way I’m really going to learn it is by forcing myself to use it. πŸ™‚

If anyone else is in the denial phase, I understand where you are at. Just get started. It’s not so bad. πŸ™‚

Cheers

Tim…

PS. I’ve not played with Buildah and Skopeo yet.

PPS. The image has no significance. It just looks good. πŸ™‚

Video : Install Docker on Oracle Linux 7 (OL7)

Today’s video is a run through installing the Docker engine on Oracle Linux 7 (OL7).

You can get the commands mentioned in this video from the following article.

You can see my other Docker posts and builds here.

The star of today’s video is Robyn Sands, formerly of the Oracle Real World Performance Group, and now something to do with some fruit company… πŸ™‚

Cheers

Tim…

Oracle 18c and 19c on Oracle Linux 8 (beta)

Fresh on the back of yesterday’s Fedora 30 post, I noticed a post from Avi Miller about the release of Oracle Linux 8 Beta. I had a day off work, so once I had finished the Fedora 30 builds, I started on the Oracle Linux 8 builds.

It should be obvious, but this is a beta release of the OS, so everything below is just me playing. It will all have to be done again, and done “properly” once the final release appears. Even then, it will be a while before anything is certified against the new OS, so don’t take this seriously.

I’ve pushed some stuff up to GitHub. It uses a Vagrant box I created myself, in the same way I wrote about here.

I think it’s time I did something “real”, rather than playing around with stuff that doesn’t relate to something I would do at work. πŸ™‚

Cheers

Tim…

Oracle 18c and 19c on Fedora 30

As is customary, Fedora 30 has been released and I’ve done some Oracle installations on it.

Before we get to the good stuff, let’s do the warnings.

With that out of the way, here are the articles.

Not surprisingly, things feel pretty similar to Fedora 29 from an Oracle perspective. There are a few small edits to the process due to the package changes with this OS version.

I’ve pushed some stuff up to GitHub, but there is no Vagrant box available for Fedora 30 yet, so I had to create my own, in the same way I wrote about here.

So now you know how to do it, please don’t. πŸ™‚

Cheers

Tim…

Docker : My First Steps

In a blog post after OpenWorld I mentioned I might not be writing so much for a while as something at work was taking a lot of my “home time”, which might result in some articles, but then again might not… Well, that something was Docker…

After spending a couple of years saying I was going to start looking at Docker, in June I wrote a couple of articles, put them on the website, but didn’t mention them to anyone.Β  I was finding it quite hard to focus on Docker because of all the fun I was having with ORDS. More recently it became apparent that we have a couple of use-cases for Docker at work, one of which involved ORDS, so it reignited my interest. There’s nothing like actually needing to use something to make you knuckle down and learn it… πŸ™‚

Having gone back to revisit Docker, I realised the two articles I wrote were terrible, which wasn’t surprising considering how little time I had spent using Docker at that point. The more I used Docker, the more I realised I had totally missed the point. I had come to it with too many preconceptions, mostly relating to virtualization, that were leading me astray. I reached out to a few people (Gerald Venzl, Bruno Borges & Avi Miller) for help and advice, which got me back on track…

I’ve been playing around with Docker a lot lately, which has resulted in a few articles, with some more on the way. I’m not trying to make out I’m “the Docker guy” now, because I’m clearly not. I’m not suggesting you use my Docker builds, because there are better ones around, like these. I’m just trying to learn this stuff and I do that by playing and writing. If other people find that useful and want to follow me on the journey, that’s great. If you prefer to go straight to the source (docs.docker.com) that’s probably a better idea. πŸ™‚

I do a lot of rewrites of articles on my website in general. This is especially true of these Docker articles, which seem to be in a permanent state of flux at the moment. Part of me wanted to wait until I was a little more confident about it all, because I didn’t want to make all my mistakes in public, then part of me thought, “sod it!”

If you want to see what I’ve been doing all the articles are on my website and the Dockerfiles on Github.

I’m having a lot of fun playing around with Docker. You could say, I’m having a “whale” of a time! (I’ll get my coat…)

Cheers

Tim…

Oracle 12c on Fedora 27

As always, I have to start with a warning.

With that out of the way…

Fedora 27 has been out for a couple of weeks now, but I’ve not really been able to do anything with it because I couldn’t get it installed on VirtualBox. I finally managed to get the installation to work, provided I used the Live DVD when I was running VirtualBox on an Oracle Linux 7 host. That means I was finally able to have a play with 12cR2 on Fedora 27.

It’s pretty much the same as the installation on Fedora 26.

So now you know how to do it, please don’t!Β πŸ™‚

Cheers

Tim…

 

Oracle 12c on Fedora 26

Before we get into this, I feel the need to mention this important caveat, so I don’t get any grief about this.

With that done, here we go…

Fedora 26 has been out for a while now. As soon as it dropped I tried to do some 12c installations on it and hit a stumbling block. The software would install and link fine, but it wouldn’t start up Oracle processes, so you couldn’t actually create a database using the DBCA or SQL*Plus. I roped in Frits Hoogland to help me find the issue, which he did through the magic of strace. πŸ™‚

With that information, a bit of Googling revealed other software that was struggling with changes to glibc, with the only reliable solution (to their problems) being to downgrade to glibc from Fedora 25. That didn’t sound too satisfactory to me.

If I’m honest, I got kind-of bored by it until Andy Campbell made me aware of a workaround, so I was finally able to get 12cR1 and 12cR2 working fine on Fedora 26.

Not surprisingly, the 12cR1 installation still suffers from that Perl issue on newer chipsets. The 12cR2 installation is a lot clearer by comparison.

So now you know how to do it, please don’t! πŸ™‚

Cheers

Tim…