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 |
(Bash im aktiven Container ausfĂĽhren) |
121 |
|
122 |
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 |
123 |
|
124 |
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 |
125 |
|
126 |
chmod -R 777 config/config.php |
127 |
|
128 |
|
129 |
|
130 |
docker ps |
131 |
docker rmi -f $(docker images -f "dangling=true" -q) |
132 |
|
133 |
|
134 |
==== 5. WackoWikiWeb aufrufen== |
135 |
fĂĽr WackoWikiWeb: http://localhost:10080/ |
136 |
fĂĽr phpMyAdmin http://localhost:10081/ |
137 |
|
138 |
|
139 |
|
140 |
|
141 |
**ToDo** |
142 |
* security |
143 |
* secure linux image |
144 |
* nonrootuser |
145 |
* https://github.com/jakubboucek/docker-lamp-devstack?tab=readme-ov-file#built-images |
146 |
* https://goneuland.de/lamp-stack-apache-mysql-php-mit-docker-compose-und-traefik-installieren/ |