fspringveldt / ss-dockerfile
该软件包最新版本(dev-master)没有提供许可信息。
一个非常简单的 Docker 镜像定义
dev-master
2017-05-19 02:38 UTC
This package is auto-updated.
Last update: 2024-09-13 10:25:42 UTC
README
我本地的 SilverStripe Dockerfile,用于与 Docker-Compose 一起使用,包括 XDebug 支持 :)
设置
- 按照以下指南安装 docker:点击这里。
- 在您的项目根目录中创建一个名为 .env 的文件,如下所示,并在等号后添加值
MYSQL_ROOT_PASSWORD= MYSQL_DATABASE= MYSQL_USER= MYSQL_PASSWORD= XDEBUG_REMOTE_HOST= SS_ADMIN_USER= SS_ADMIN_PASSWORD= SS_ENVIRONMENT= PMA_VIRTUAL_HOST= DB_VIRTUAL_HOST= SS_VIRTUAL_HOST=
- 编辑您的本地 hosts 文件,将 PMA_VIRTUAL_HOST、DB_VIRTUAL_HOST 和 SS_VIRTUAL_HOST(如上 .env 文件中定义)的值指向 docker vm ip 地址
- 在您的项目根目录中创建一个名为 docker-compose.yml 的文件,并将以下内容复制到其中
version: "2" services: db: image: mysql:5.7 container_name: mysql volumes: - db-data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} VIRTUAL_HOST: ${DB_VIRTUAL_HOST} ss: build: https://github.com/fspringveldt/ss-dockerfile.git#master container_name: ss-site links: - db depends_on: - db working_dir: /var/www/htdocs volumes: - ./:/var/www/htdocs environment: - VIRTUAL_HOST=${SS_VIRTUAL_HOST} - DATABASE_SERVER=db - XDEBUG_CONFIG=remote_host=${XDEBUG_REMOTE_HOST} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - SS_DEFAULT_ADMIN_USERNAME=${SS_ADMIN_USER} - SS_DEFAULT_ADMIN_PASSWORD=${SS_ADMIN_PASSWORD} - SS_ENVIRONMENT=${SS_ENVIRONMENT} nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./ss-dockerfile/nginx-proxy.conf:/etc/nginx/conf.d/nginx-proxy.conf phpmyadmin: container_name: phpmyadmin image: phpmyadmin/phpmyadmin links: - db:mysql depends_on: - db ports: - "8181:80" environment: PMA_HOST: mysql MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} VIRTUAL_HOST: ${PMA_VIRTUAL_HOST} volumes: db-data:
- 运行
docker-compose build
,然后使用docker-compose up -d
启动您的容器。使用docker-compose down
停止它们,使用docker-compose down -v
删除挂载的卷。
在此阶段,如果一切顺利,您可以 shell 到您的 ss 容器 docker exec -ti ss-site /bin/bash
,从这里您可以运行 composer create-project ...
命令。
其他资源
- 以下是一个 SilverStripe 环境文件 (_ss_environment.php) 语法示例
<?php /** * Created by PhpStorm. * User: francospringveldt * Date: 2017/02/23 * Time: 8:26 AM */ /* What kind of environment is this: development, test, or live (i.e. production)? */ define('SS_ENVIRONMENT_TYPE', getenv('SS_ENVIRONMENT') ?: 'live'); /* Database connection */ //NB: You can substitute getenv() with string values of your choice if you choose. define('SS_DATABASE_SERVER', getenv('DATABASE_SERVER')); define('SS_DATABASE_NAME', getenv('MYSQL_DATABASE')); define( 'SS_DATABASE_USERNAME', getenv( 'MYSQL_USER' ) ); define('SS_DATABASE_PASSWORD', getenv('MYSQL_PASSWORD')); /* Configure a default username and password to access the CMS on all sites in this environment. */ define('SS_DEFAULT_ADMIN_USERNAME', getenv('SS_DEFAULT_ADMIN_USERNAME')); define('SS_DEFAULT_ADMIN_PASSWORD', getenv('SS_DEFAULT_ADMIN_PASSWORD')); $host = sprintf('http://%s', getenv('VIRTUAL_HOST')); global $_FILE_TO_URL_MAPPING; $_FILE_TO_URL_MAPPING['/var/www/html'] = $host;