Versionsunterschiede von Testing / Docker





Nächste Änderung →




1 {{toc}}
2
3 WackoWiki DockerRepo: https://hub.docker.com/r/trojer/wackowiki
4
5
6 DokuWiki: ((https://www.patreon.com/posts/42961375 Running DokuWiki on Docker))
7   * https://hub.docker.com/r/dokuwiki/dokuwiki
8   * https://github.com/dokuwiki/docker
9
10 ===Docker Starter====
11 ==== 1. Docker und Docker Compose installieren ====
12 %%(cl) sudo zypper refresh%%
13 %%(cl) sudo zypper update%%
14 %%(cl) sudo zypper in docker docker-compose%%
15 %%(cl) sudo sudo useradd $USER docker%%
16 %%(cl) groups%%
17 %%(cl) systemctl start docker%%
18 %%(cl) cd /home/$USER/Projekt/wackowiki_docker%%
19
20 ==== 2. Projektordner anlegen ==
21 %%(cl) mkdir /home/$USER/Projekt/wackowiki_docker %%
22
23 ==== 3. Projektordner einrichten =====
24 Docker-compose.yml und Dockerfile in den Ordner kopieren
25 Scriptordner erstellen und Script Dateien kopieren
26
27
28 #||
29 ||
30 **docker-compose.yml**
31
32 %%(php)
33 ---
34 services:
35     wacko:
36         image: trojer/wackowiki:latest
37         # image: trojer/wackowiki:0.1.1
38         ports:
39             - '10080:80'
40         build:
41             dockerfile: Dockerfile
42             context: .
43 # args:
44 # VERSION: 6.0.22
45         depends_on:
46             - db
47         volumes:
48             - ./scripts/config.php:/var/www/html/src/config/config.php
49
50     db:
51         image: mariadb:10
52         environment:
53             MARIADB_RANDOM_ROOT_PASSWORD: "yes"
54             MARIADB_DATABASE: wacko
55             MARIADB_USER: wacko
56             MARIADB_PASSWORD: examplepassword
57        # volumes:
58        # - ./scripts/wacko.sql:/docker-entrypoint-initdb.d/wacko.sql
59             
60
61     phpmyadmin:
62         image: phpmyadmin
63         restart: always
64         ports:
65         - 10081:80
66 %%
67 |
68
69 **Dockerfile**
70
71 %%(php)
72 FROM php:apache
73 ARG VERSION=6.1.27
74 ENV MARIADB_DATABASE=wacko
75
76 RUN apt-get update -y \
77 && apt-get install -y \
78     wget \
79     apt-utils \
80     libicu-dev \
81     zlib1g-dev \
82     libpng-dev \
83 && apt-get clean \
84 && rm -rf /var/cache/apt \
85 && docker-php-ext-install \
86     bcmath \
87     gd \
88     intl \
89     mysqli \
90     pdo_mysql \
91     pdo \
92     mysqli \
93     ctype \
94     iconv \
95 && a2enmod rewrite
96
97 WORKDIR /var/www/html
98 USER www-data
99 RUN wget -q -O - https://github.com/WackoWiki/wackowiki/archive/refs/tags/${VERSION}.tar.gz | tar -xz --strip-components=1
100 USER root
101 RUN sed -i -e 's#/var/www/html#/var/www/html/src#g' /etc/apache2/sites-enabled/000-default.conf
102
103 %%
104 ||
105 ||#
106
107
108 ==== 4. Docker Programme ====
109 Im Projektverzeichnis und docker-Dienst ist gestartet?
110 %%(cl) systemctl status docker%%
111
112 %%(cl) docker image ls%%
113 %%(cl) docker compose pull%%
114 %%(cl) docker build -t trojer/wackowiki:latest .%%
115 %%(cl) docker compose down%%
116 %%(cl) docker compose up%%
117
118 %%(cl) docker run -it trojer/wackowiki:latest bash%%
119 docker exec -it <container-name-or-id> bash
120
121 docker ps
122 docker rmi -f $(docker images -f "dangling=true" -q)
123
124
125 ==== 5. WackoWikiWeb aufrufen==
126 fĂĽr WackoWikiWeb: http://localhost:10080/
127 fĂĽr phpMyAdmin http://localhost:10081/
128
129
130
131
132 **ToDo**
133   * security
134     * secure linux image
135     * nonrootuser
136   * https://github.com/jakubboucek/docker-lamp-devstack?tab=readme-ov-file#built-images
137   * https://goneuland.de/lamp-stack-apache-mysql-php-mit-docker-compose-und-traefik-installieren/