web-tp3/docker

测试 typo3

安装: 8

依赖: 0

建议者: 0

安全: 0

类型:项目

dev-master 2018-07-27 12:10 UTC

This package is auto-updated.

Last update: 2024-09-07 01:23:08 UTC


README

TYPO3 docker 测试镜像 - 此镜像为自动化测试环境的一部分。Web服务可以链接到 MySQL。更多关于自动化测试的信息,请参阅https://bitbucket.org/web-tp3/tp3_installer

使用(独立)

此镜像需要一个外部的 MySQL 服务器或链接的 MySQL 容器。要创建 MySQL 容器

docker run -d -e MYSQL_ROOT_PASSWORD="my-secret-pw" --name db -p 3306:3306 webtp3/tp3sql

通过链接到上面创建的数据库来运行 TYPO3

docker run -d --link db:db -e DB_PASS="<your_password>" -p 80:80 webtp3/docker

使用(组合)

使用 ia docker stack deploy 或 docker-compose

docker-compose -f docker-compose.yml up

现在,您可以使用 Web 浏览器通过以下地址访问 TYPO3

https:///typo3

用户名是 "tp3min",密码是 "Init1111"。

MySQL Adminer

https://:8080

MySQL 服务器也可以从外部通过端口 3306 访达

SSH 服务器也用于 Rsync 和其他东西,要使用 SSH 服务器,有一个用户 typo3user,需要一个密码(docker exec...),graphicsmagick,imagemagick,letscrypt,openssl,php-xdebug,我认为您需要的一切。

启动服务器

您可以根据此安装轻松创建自己的 Dockerfile 并将应用程序部署到其中。创建以下类似的 Dockerfile

FROM webtp3/docker:18.4-stable

RUN apt-get update && apt-get install -yq
ADD . /var/www/html
# start composer install
RUN composer config  repositories.local path 'Packages/*' -d  /var/www/html/
RUN  omposer --dev update -d  /var/www/html/

# Expose environment variables for automated setup
ENV DB_HOST **LinkMe**
ENV DB_PORT **LinkMe**
ENV DB_NAME typo3
ENV DB_USER root
ENV DB_PASS my-secret-pw
ENV INSTALL_TOOL_PASSWORD password

#serverroot is in /var/www/html/web we use the vendor dir for that
# for productive enviroment we recommend to ouse the flag --no-dev

接下来是如果您已经安装了 docker,您可以在项目根目录下运行

docker build -t yourtest  .
docker run -d -e MYSQL_ROOT_PASSWORD="my-secret-pw" --name db -p 3306:3306 webtp3/tp3sql
docker run -d  --rm -it -v $PWD:/build --link db:db -e DB_PASS="my-secret-pw" -p 80:80 --name typo3 yourtest
     

#### 开始测试

docker exec typo3 php vendor/phpunit/phpunit/phpunit --configuration web/typo3conf/ext/cag_tests/Tests/Build/UnitTests.xml --teamcity --log-junit 
docker exec typo3 php vendor/phpunit/phpunit/phpunit --configuration web/typo3conf/ext/cag_tests/Tests/Build/UnitTestsDeprecated.xml --teamcity --log-junit 
docker exec typo3 php vendor/phpunit/phpunit/phpunit --configuration web/typo3conf/ext/cag_tests/Tests/Build/FunctionalTests.xml --teamcity --log-junit 
docker exec typo3 mkdir -p web/typo3temp/var/tests
docker exec typo3 vendor/bin/chromedriver --url-base=/wd/hub >/dev/null 2>&1 &
docker exec typo3 php -S 0.0.0.0:8000 >/dev/null 2>&1 &
docker exec typo3 sleep 3;
docker exec typo3 typo3DatabaseName='typo3' typo3DatabaseHost='DB' typo3DatabaseUsername='root' typo3DatabasePassword='my-secret-pw' vendor/codeception/codeception/codecept run Acceptance -c web/typo3conf/ext/cag_tests/Tests/Build/AcceptanceTests.yml

docker stop typo3
docker stop db

通过更改 "my-secret-pw",您可以更改系统的密码

通过 CLI 安装 typo3

       docker exec typo3 bash /var/www/cgi-bin/run-typo3.sh

从主机删除旧的 Docker 卷

docker volume rm $(docker volume ls -qf dangling=true) 

Docker - 如何清理(未使用的)资源

偶尔,您可能需要清理资源(容器、卷、镜像、网络)...

删除卷

// see: https://github.com/chadoe/docker-cleanup-volumes

$ docker volume rm $(docker volume ls -qf dangling=true)
$ docker volume ls -qf dangling=true | xargs -r docker volume rm

删除网络

$ docker network ls  
$ docker network ls | grep "bridge"   
$ docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')

删除 Docker 镜像

// see: http://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images

$ docker images
$ docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

$ docker images | grep "none"
$ docker rmi $(docker images | grep "none" | awk '/ / { print $3 }')

删除 Docker 容器

// see: http://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images

$ docker ps
$ docker ps -a
$ docker rm $(docker ps -qa --no-trunc --filter "status=exited")

调整 Docker VM 的磁盘空间

$ docker-machine create --driver virtualbox --virtualbox-disk-size "40000" default

文档

关于基础镜像的更多信息可以在 Docker Hub 上找到

https://hub.docker.com/r/webtp3/docker

https://github.com/webtp3/docker

系统使用 php fastcgi 包装器运行。因此,您可以轻松地交换 php 版本来测试多个版本。

Web 服务器 https://hub.docker.com/_/ubuntu/

数据库服务器 https://hub.docker.com/_/mysql/

什么是 [tp3] https://web.tp3.de