|
|
# ELT Containers on Podman
|
|
|
|
|
|
## Why?
|
|
|
# Why?
|
|
|
|
|
|
* Native performance
|
|
|
* Quick setup of specific versions of software
|
|
|
* Disposables by design. The image is reproduceable in creation. The runtime environment is not meant to last, unless the user takes extra steps.
|
|
|
* Coding: You can use the image to have all the headers and source files available for your IDE.
|
|
|
|
|
|
## When not to use
|
|
|
# When not to use
|
|
|
|
|
|
* When using redis/oldb, elastics search, nomad, etc. Containers are not meant to have multiple processes running. Though it can be achieved, it requires extra work.
|
|
|
* Normally you would use separate images/containers for services such as elastic and redis. But that is outside the scope of this wiki. (see man podman-compose)
|
|
|
|
|
|
## Existing images
|
|
|
# Existing images
|
|
|
|
|
|
Linus Karl has provided a DevEnv 4.5 and 4.6 image at https://quay.io/repository/recreate0674/esodevenv
|
|
|
|
|
|
You can use this image as a base and provide depedencies you needs for your software.
|
|
|
You can use this image as a base and provide some of the dependencies you needs for your software.
|
|
|
|
|
|
If you have podman in your machine, you can easily expand on an existing one.
|
|
|
|
|
|
If you have podman in your machine, you can easily expand on an existing one:
|
|
|
# Custom Podman Image
|
|
|
|
|
|
Create a directory, and saves this two files in there:
|
|
|
|
... | ... | @@ -68,6 +69,8 @@ execute{cmd="shopt -s direxpand", modeA={"load"}} |
|
|
podman build -t devenv-custom:latest .
|
|
|
```
|
|
|
|
|
|
This will create an image tagged `devenv-custom:latest`. You can retag your images. You can also use versions instead of `latest`, to keep track of certain environment, or have multiple image for different situations.
|
|
|
|
|
|
## Running the image
|
|
|
|
|
|
Simple case, only console is available
|
... | ... | |