Quelltext der Seite Docker
{{toc}}
WackoWiki DockerRepo: https://hub.docker.com/r/trojer/wackowiki
DokuWiki: ((https://www.patreon.com/posts/42961375 Running DokuWiki on Docker))
* https://hub.docker.com/r/dokuwiki/dokuwiki
* https://github.com/dokuwiki/docker
===Docker Starter====
==== 1. Docker und Docker Compose installieren ====
%%(cl) sudo zypper refresh%%
%%(cl) sudo zypper update%%
%%(cl) sudo zypper in docker docker-compose%%
%%(cl) sudo sudo useradd $USER docker%%
%%(cl) groups%%
%%(cl) systemctl start docker%%
%%(cl) cd /home/$USER/Projekt/wackowiki_docker%%
==== 2. Projektordner anlegen ==
%%(cl) 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**
%%(php)
---
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**
%%(php)
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 ====
Im Projektverzeichnis und docker-Dienst ist gestartet?
%%(cl) systemctl status docker%%
%%(cl) docker image ls%%
%%(cl) docker compose pull%%
%%(cl) docker build -t trojer/wackowiki:latest .%%
%%(cl) docker compose down%%
%%(cl) docker compose up%%
%%(cl) docker run -it trojer/wackowiki:latest bash%%
docker exec -it <container-name-or-id> bash
(Bash im aktiven Container ausfĂĽhren)
Warning: require(/var/www/html/src/config/config.php): Failed to open stream: Permission denied in /var/www/html/src/class/settings.php on line 39
Fatal error: Uncaught Error: Failed opening required 'config/config.php' (include_path='.:/usr/local/lib/php') in /var/www/html/src/class/settings.php:39 Stack trace: #0 /var/www/html/src/index.php(7): Settings->__construct() #1 {main} thrown in /var/www/html/src/class/settings.php on line 39
chmod -R 777 config/config.php
https://stackoverflow.com/questions/43158325/mysqli-connection-refused-when-connecting-to-another-docker-container-running-ma
docker ps
docker rmi -f $(docker images -f "dangling=true" -q)
==== 5. WackoWikiWeb aufrufen==
fĂĽr WackoWikiWeb: http://localhost:10080/
fĂĽr phpMyAdmin http://localhost:10081/
**ToDo**
* security
* secure linux image
* nonrootuser
* https://github.com/jakubboucek/docker-lamp-devstack?tab=readme-ov-file#built-images
* https://goneuland.de/lamp-stack-apache-mysql-php-mit-docker-compose-und-traefik-installieren/