function arrayCastRecursive($array)
{
if (is_array($array)) {
foreach ($array as $key => $value) {
if (is_array($value)) {
$array[$key] = arrayCastRecursive($value);
}
if ($value instanceof stdClass) {
$array[$key] = arrayCastRecursive((array)$value);
}
}
}
if ($array instanceof stdClass) {
return arrayCastRecursive((array)$array);
}
return $array;
}
$result = arrayCastRecursive($stdObj);
[월:] 2021년 05월
[docker] redmine 구축하기
docker-compose.yml 작성
https://github.com/jisung87kr/docker-redmine
version: '3.2'
services:
redmine:
image: redmine
restart: always
ports:
- 8080:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: PASSWORD
REDMINE_SECRET_KEY_BASE: supersecretkey
db:
image: mysql:5.7
restart: always
ports:
- 3330:3306
environment:
MYSQL_ROOT_PASSWORD: PASSWORD
MYSQL_DATABASE: redmine
volumes:
- db_data:/var/lib/mysql
command: #문자셋 지정
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
db_data:
포트개방
docker-comse.yml 에서 지정한 포트가 개방되어 있어야 한다.
apache 설정
<VirtualHost *:80>
ServerName redmine.ujsstudio.com
#ProxyRequests Off
#ProxyPreserveHost On
ProxyPass / http://localhost:8888/
ProxyPassReverse / http://localhost:8888/
</VirtualHost>
역프록시 설정을 해서 지정한 포트로 리다이렉트 처리
참고
[docker] systemctl 사용할 수 없을때
도커에서 권한 문제로 systemctl 커맨드를 사용할수 없음
privileged 옵션과 /sbin/init 커맨드를 전달해서 해결
docker run -itd --privileged --name centos7 centos:7 /sbin/init