Podman » Historie » Revision 5
Revision 4 (Jeremias Keihsler, 23.09.2021 12:54) → Revision 5/9 (Jeremias Keihsler, 07.10.2021 10:36)
h1. Podman
h2. install
<pre><code class="shell">
yum install podman
yum install podman-compose
</code></pre>
h2. create pod
<pre><code class="shell">
sudo podman pod create --name=app-example-pod -p 8099:80
</code></pre>
h3. add container to pod
e.g. wordpress
<pre><code class="shell">
mkdir /opt/podman.pod
mkdir /opt/podman.pod/app-example
mkdir /opt/podman.pod/app-example/c_db
mkdir /opt/podman.pod/app-example/c_db/var
mkdir /opt/podman.pod/app-example/c_db/var/lib
mkdir /opt/podman.pod/app-example/c_db/var/lib/mysql
mkdir /opt/podman.pod/app-example/c_wp
mkdir /opt/podman.pod/app-example/c_wp/var
mkdir /opt/podman.pod/app-example/c_wp/var/www
mkdir /opt/podman.pod/app-example/c_wp/var/www/html
</code></pre>
<pre><code class="shell">
sudo podman run -d --restart=always --pod app-example-pod -e MYSQL_ROOT_PASSWORD="root" -e MYSQL_DATABASE="wordpress" -e MYSQL_USER="wpuser" -e MYSQL_PASSWORD="password" -v /etc/localtime:/etc/localtime:ro -v /opt/podman.pod/app-example/c_db/var/lib/mysql:/var/lib/mysql:Z --name=app-example-db mariadb
sudo podman run -d --restart=always --pod=app-example-pod -e WORDPRESS_DB_NAME="wordpress" -e WORDPRESS_DB_USER="wpuser" -e WORDPRESS_DB_PASSWORD="password" -e WORDPRESS_DB_HOST="127.0.0.1" -v /etc/localtime:/etc/localtime:ro -v /opt/podman.pod/app-example/c_wp/var/www/html:/var/www/html:Z --name app-example-wp wordpress
</code></pre>
h2. create container
see also:
https://www.redhat.com/sysadmin/wordpress-container
https://rancher.com/learning-paths/how-to-build-and-run-your-own-container-images/
https://docs.podman.io/en/latest/markdown/podman-build.1.html
create @~/container.user/wordpress.user/Dockerfile@
<pre>
FROM docker.io/rockylinux/rockylinux
MAINTAINER jke <j@keihsler.com>
RUN dnf module enable -y php:7.4
RUN yum install -y mariadb-server mariadb php php-apcu php-intl php-mbstring php-xml php-json php-mysqlnd crontabs cronie iputils net-tools;yum clean all
RUN systemctl enable mariadb
RUN systemctl enable httpd
RUN systemctl disable systemd-update-utmp.service
ENTRYPOINT ["/sbin/init"]
CMD ["/sbin/init"]
</pre>
<pre><code class="shell">
cd ~/container.user/wordpress.user/
podman build -t wordpress_user .
</code></pre>
h2. compose pod
create @~/compose.user/nextcloud.user/compose.yml@
<pre><code class="yaml">
version: '3'
services:
db:
image: mariadb
container_name: nextcloud-mariadb
networks:
- nextcloud_network
volumes:
- db:/opt/nextcloud/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=XXXXX
- MYSQL_PASSWORD=XXXXX
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: unless-stopped
app:
image: nextcloud:latest
container_name: nextcloud-app
ports:
- 9099:80
networks:
- nextcloud_network
depends_on:
- db
volumes:
- nextcloud:/var/www/html
- ./app/config:/var/www/html/config
- ./app/custom_apps:/var/www/html/custom_apps
- ./app/data:/var/www/html/data
- ./app/themes:/opt/nextcloud/www/html/themes
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=ak-i40-cloud.openfab.org
restart: unless-stopped
volumes:
nextcloud:
db:
networks:
nextcloud_network:
</code></pre>
<pre><code class="shell">
podman-compose -f ~/compose.user/nextcloud.user/compose.yml up
</code></pre>