Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Ph3nol/Docker-Arch
Generate Web/CLI projects Dockerized development environments, from 1 simple YAML file.
https://github.com/Ph3nol/Docker-Arch
developer-tools devops docker docker-arch docker-compose docker-image docker-sync generator
Last synced: about 2 months ago
JSON representation
Generate Web/CLI projects Dockerized development environments, from 1 simple YAML file.
- Host: GitHub
- URL: https://github.com/Ph3nol/Docker-Arch
- Owner: Ph3nol
- License: mit
- Created: 2017-08-09T16:53:43.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-24T06:43:08.000Z (about 6 years ago)
- Last Synced: 2024-10-12T06:42:12.089Z (2 months ago)
- Topics: developer-tools, devops, docker, docker-arch, docker-compose, docker-image, docker-sync, generator
- Language: PHP
- Homepage: https://ph3nol.github.io/Docker-Arch/
- Size: 10.6 MB
- Stars: 30
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-docker - Docker-Arch - Generate Web/CLI projects Dockerized development environments, from 1 simple YAML file. By [@Ph3nol](https://github.com/ph3nol) (Development with Docker / Development Environment)
- awesome-docker - Docker-Arch - Generate Web/CLI projects Dockerized development environments, from 1 simple YAML file. By [@Ph3nol](https://github.com/ph3nol) (Development with Docker / Development Environment)
README
# Docker-Arch(itect)
[![Latest Stable Version](https://img.shields.io/packagist/v/ph3nol/docker-arch.svg)](https://packagist.org/packages/ph3nol/docker-arch)
[![License](https://img.shields.io/packagist/l/ph3nol/docker-arch.svg)](https://packagist.org/packages/ph3nol/docker-arch)
[![Total Downloads](https://img.shields.io/packagist/dt/ph3nol/docker-arch.svg)](https://packagist.org/packages/ph3nol/docker-arch)
[![Build Status](https://secure.travis-ci.org/Ph3nol/Docker-Arch.png)](http://travis-ci.org/Ph3nol/Docker-Arch)[![SensioLabsInsight](https://insight.sensiolabs.com/projects/acb7b2ff-0aa1-47bf-a0a9-7b944c36b7c4/big.png)](https://insight.sensiolabs.com/projects/acb7b2ff-0aa1-47bf-a0a9-7b944c36b7c4)
## Demonstration
![Basic Demo](https://github.com/Ph3nol/Docker-Arch/raw/master/examples/basic-demo.gif "Basic Demo")
## User Docker-Arch from dedicated Docker image (recommanded)
From dedicated [Docker image](https://hub.docker.com/r/ph3nol/docker-arch/).
``` shell
docker pull ph3nol/docker-arch
```## Use Docker-Arch from local installation (PHP 7.1+ required)
``` shell
curl -sSL https://raw.githubusercontent.com/Ph3nol/Docker-Arch/master/install.sh | sh
```## Docker-Arch environment generation
Go to your project root directory and create/edit `.docker-arch.yml` file [see examples](examples/).
Then generate your Docker environment:
``` shell
docker run -it -v $(PWD):/destination ph3nol/docker-arch:latest generate /destination
```Finally, use `.docker-arch/do` script, from the project, for somes actions:
``` shell
.docker-arch/do build # Build containers (like `docker-compose up --build -d`)
.docker-arch/do start # Start containers (like `docker-compose up -d`)
.docker-arch/do shell # Access a container Shell
.docker-arch/do ui # Access generated UI that provides you Docker environment informations
.docker-arch/do dc # Access `docker-compose` with your configuration, for specific requests
.docker-arch/do stop # Stop containers (like `docker-compose stop`)
.docker-arch/do clean # Stop/Remove containers and reset linked volumes
...
```To use the Docker image so fast, you can use these aliases/functions:
#### Unixy
``` bash
function docker-arch {
case "$1" in
*)
if [ -z $2 ]; then DESTINATION_PATH=$PWD; else DESTINATION_PATH=$2; fi
if [[ "$DESTINATION_PATH" == "." ]]; then DESTINATION_PATH=$PWD; fidocker run -it -v $DESTINATION_PATH:/destination ph3nol/docker-arch:latest generate /destination
;;
esac
}
```#### Windows
```ps
// ~/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1function docker-arch ([String] $Destination = $PWD) {
docker run --rm -it -v "${Destination}:/destination" ph3nol/docker-arch:latest generate /destination
}
```## To do
* Improve documentation
* Add new Services/DockerContainers - Feel free to contribute! :)
* Write fucking unit Tests (Atoum powered)