Podman: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Created page with "I have install podman in a WSL2 Debian on Murre. Now I am trying to make it do something useful. I am currently using docker-compose all the time so learning how to migra..."
 
Brian Wilson (talk | contribs)
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
I am currently using docker-compose all the time so learning how to migrate compose project
I am currently using docker-compose all the time so learning how to migrate compose project
is paramount.
is paramount.
I think [[Murre]] will end up being a good place to run experimental containers since it's many times faster than [[Bellman]].
Bellman for deployment, Murre for development.
This is a list of Dockers running on Bellman today.
I don't suppose I need compose for any of these, really... do I?
* home-assistant - home automation
* proxy - Reverse proxy using NGINX
* proxy-letsencrypt - Certificate manager
* squeezebox - Logitech media server
* timemachine - Macintosh backups
* traccar - Traccar GPS fleet management
* traccar-mysql - mysql for Traccar
* unifi - Ubiquiti management software
* [[WABDE]] - ESRI Web App Builder, Developer Edition
Also I experiment with geoserver and geowebcache, which needs postgis/postgresql and pgadmin
(or dbadminer), mapproxy which needs couchdb, mssql
I use lots of volumes.
<pre>
local              geoserver_data
local              geoserver_pgadmin
local              geoserver_postgis_backups
local              geoserver_postgis_data
local              geowebcache_data
local              home-assistant_config
local              mapproxy_cache
local              mapproxy_config
local              mapproxy_couchdb_data
local              mssql_data
local              mssql_log
local              mssql_secrets
local              proxy_certs
local              proxy_conf
local              proxy_dhparam
local              proxy_html
local              squeezebox_settings
local              traccar_conf
local              traccar_database
local              traccar_logs
local              unifi_data
local              unifi_initd
local              unifi_log
</pre>
I need to understand how to make them start at boot without Docker daemon.
== Migrating from Docker ==
Generally it has become my habit to use docker-compose for just about every container I set up.
It's just a convenient way to bundle together the settings for the container plus volumes, network
ports, and so on all in one docker-compose.yml file. An example would be Unifi, it's just one
web app but it has 3 volumes.
Podman does not have a completed "podman-compose" option at this time, they are working on it.
They have "pods" which is a way to group containers into a single virtual network, and I will
be exploring this option.
Potential issues
# home-assistant needs access to USB serial devices.
# dns and hostnames
# different network modes
# mapping ports
=== Simple Docker migration ===
Using Unifi as an example,
podman pod create --name unifi --publish 8443
podman volume create unifi_data
podman volume create unifi_log
podman volume create unifi_initd
podman container create \
    --name unifi \
    --pod unifi \
    --restart always \
    --volume unifi_data:/unifi/data \
    --volume unifi_log:/unifi/log \
    --volume unifi_initd:/unifi/init.d \
    --volume ./cert:/unifi/cert:ro \
    jacobalberty/unifi:latest
podman pod restart unifi
=== Docker Compose migration ===
https://www.metamost.com/migrating-from-docker-compose-to-podman/
Let's try traccar + traccar-mysql...

Latest revision as of 17:30, 17 March 2021

I have install podman in a WSL2 Debian on Murre. Now I am trying to make it do something useful.

I am currently using docker-compose all the time so learning how to migrate compose project is paramount.

I think Murre will end up being a good place to run experimental containers since it's many times faster than Bellman.

Bellman for deployment, Murre for development.

This is a list of Dockers running on Bellman today. I don't suppose I need compose for any of these, really... do I?

  • home-assistant - home automation
  • proxy - Reverse proxy using NGINX
  • proxy-letsencrypt - Certificate manager
  • squeezebox - Logitech media server
  • timemachine - Macintosh backups
  • traccar - Traccar GPS fleet management
  • traccar-mysql - mysql for Traccar
  • unifi - Ubiquiti management software
  • WABDE - ESRI Web App Builder, Developer Edition

Also I experiment with geoserver and geowebcache, which needs postgis/postgresql and pgadmin (or dbadminer), mapproxy which needs couchdb, mssql

I use lots of volumes.

local               geoserver_data
local               geoserver_pgadmin
local               geoserver_postgis_backups
local               geoserver_postgis_data
local               geowebcache_data
local               home-assistant_config
local               mapproxy_cache
local               mapproxy_config
local               mapproxy_couchdb_data
local               mssql_data
local               mssql_log
local               mssql_secrets
local               proxy_certs
local               proxy_conf
local               proxy_dhparam
local               proxy_html
local               squeezebox_settings
local               traccar_conf
local               traccar_database
local               traccar_logs
local               unifi_data
local               unifi_initd
local               unifi_log

I need to understand how to make them start at boot without Docker daemon.

Migrating from Docker

Generally it has become my habit to use docker-compose for just about every container I set up. It's just a convenient way to bundle together the settings for the container plus volumes, network ports, and so on all in one docker-compose.yml file. An example would be Unifi, it's just one web app but it has 3 volumes.

Podman does not have a completed "podman-compose" option at this time, they are working on it. They have "pods" which is a way to group containers into a single virtual network, and I will be exploring this option.

Potential issues

  1. home-assistant needs access to USB serial devices.
  2. dns and hostnames
  3. different network modes
  4. mapping ports

Simple Docker migration

Using Unifi as an example,

podman pod create --name unifi --publish 8443
podman volume create unifi_data
podman volume create unifi_log
podman volume create unifi_initd
podman container create \
   --name unifi \
   --pod unifi \
   --restart always \
   --volume unifi_data:/unifi/data \
   --volume unifi_log:/unifi/log \
   --volume unifi_initd:/unifi/init.d \
   --volume ./cert:/unifi/cert:ro \
   jacobalberty/unifi:latest
podman pod restart unifi

Docker Compose migration

https://www.metamost.com/migrating-from-docker-compose-to-podman/

Let's try traccar + traccar-mysql...