Docker
WackoWiki DockerRepo: https://hub.docker.com/r/trojer/wackowiki
DokuWiki: Running DokuWiki on Docker
Docker Starter
1. Docker und Docker Compose installieren
sudo zypper refresh
sudo zypper update
sudo zypper in docker docker-compose
sudo sudo useradd $USER docker
groups
systemctl start docker
cd /home/$USER/Projekt/wackowiki_docker
2. Projektordner anlegen
mkdir /home/$USER/Projekt/wackowiki_docker
3. Projektordner einrichten
Docker-compose.yml und Dockerfile in den Ordner kopieren
Scriptordner erstellen und Script Dateien kopieren
docker-compose.yml
---
services:
wacko:
image: trojer/wackowiki:latest
# image: trojer/wackowiki:0.1.1
ports:
- '10080:80'
build:
dockerfile: Dockerfile
context: .
# args:
# VERSION: 6.0.22
depends_on:
- db
volumes:
- ./scripts/config.php:/var/www/html/src/config/config.php
db:
image: mariadb:10
environment:
MARIADB_RANDOM_ROOT_PASSWORD: "yes"
MARIADB_DATABASE: wacko
MARIADB_USER: wacko
MARIADB_PASSWORD: examplepassword
# volumes:
# - ./scripts/wacko.sql:/docker-entrypoint-initdb.d/wacko.sql
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 10081:80
|
Dockerfile
FROM php:apache
ARG VERSION=6.1.27
ENV MARIADB_DATABASE=wacko
RUN apt-get update -y \
&& apt-get install -y \
wget \
apt-utils \
libicu-dev \
zlib1g-dev \
libpng-dev \
&& apt-get clean \
&& rm -rf /var/cache/apt \
&& docker-php-ext-install \
bcmath \
gd \
intl \
mysqli \
pdo_mysql \
pdo \
mysqli \
ctype \
iconv \
&& a2enmod rewrite
WORKDIR /var/www/html
USER www-data
RUN wget -q -O - https://github.com/WackoWiki/wackowiki/archive/refs/tags/${VERSION}.tar.gz | tar -xz --strip-components=1
USER root
RUN sed -i -e 's#/var/www/html#/var/www/html/src#g' /etc/apache2/sites-enabled/000-default.conf
|
4. Docker Programme
docker image ls
docker compose pull
docker build -t trojer/wackowiki:latest .
docker compose up
docker ps
docker rmi -f $(docker images -f "dangling=true" -q)
https://github.com/jakubboucek[...]ov-file#built-images
ToDo
- security
- secure linux image
- nonrootuser