Podman: Difference between revisions
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
- 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...