-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ] docker-compose

, 07 2017 . 23:23 +


, docker. , . docker-, , , , . , , .


image



. , , . , . . , , , . , . docker-. , . . docker-compose.


. , docker-compose, . - . , . . , docker-compose.yml, . , , . , , , , . ...


ddk


ddk (Docker Development Kit) , , docker-. , , . , ddk git docker , . , docker-compose.


ddk python-, , . , docker' docker-compose, ddk, . init.


cd /var/projects/ddk
ddk init

:


ddk project get my.project.ru
ddk compose --up

, , localhost.


echo 127.0.0.1 my.project.ddk >> /etc/hosts

. docker-compose . . , my.project.ddk.


, .


ddk , , init. . , , ddk . git docker-compose. , , ddk , . git-, .


# "project-repo-prefix": ["git@github.com/vendor-name/"]
ddk project get my.project.ru
git clone git@github.com/vendor-name/my.project.ru.git

, ddk git clone, , - . , , , , , , . .


ddk-


. . . . docker-compose.yml ddk .


, , . .


ddk package install package-name
ddk package update

. ddk.json, docker-. .


{
    "container_name": "memcached.ddk",
    "image": "memcached:latest"
}

, , , , docker-compose.yml JSON. , docker-compose. , Dockerfile .


{
    "build": "${PACKAGE_PATH}",
    "container_name": "nginx.ddk",
    "volumes": [
        "${SHARE_PATH}/var/www:/var/www",
        "${PACKAGE_PATH}/storage/etc/nginx/conf.d:/etc/nginx/conf.d:ro",
        "${PACKAGE_PATH}/storage/etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro",
        "${PACKAGE_PATH}/storage/var/log/nginx:/var/log/nginx"
    ]
}

:


storage/
    etc/
        nginx/
            conf.d/
                site.ddk.sample
            nginx.conf
ddk.json
Dockerfile

, "ddk-" . "ddk-post-install", , .


{
    "ddk-post-install": [
        "echo 'Done'"
    ]
}

""



, ddk . , get.


ddk project get project-id

share/var/www, ( ), on-init. ( .env, , ..).


, ddk.json , . - , . .


{
    "packages": [
        "mysql5.5",
        "memcached",
        "apache-php5.5"
    ],
    "on-init": [
        "${PROJECT_PATH}/init.sh ${PACKAGES_PATH} ${PROJECT_DIR}"
    ]
}

, on-init , , . , , . , .


- , , . name, . .


{
    "packages": [
        {
            "name": "nginx",
            "depends_on": [
                "php-fpm7.1"
            ],
            "environment": [
                "SOME_VAR=Hello"
            ]
        }
    ]
}

, .



docker- , .


-, - , . .. package-name/storage package-name. share . share/var/www. .


, , , , -. , , - . , . . , share/home/, . , .


{
    "container_name": "php71-fpm.ddk",
    "command": "map-user.sh",
    "env_file": [
        "${PACKAGE_PATH}/env/user.env"
    ],
    "ddk-post-install": [
        "mkdir -p ${PACKAGE_PATH}/env",
        "echo USER_NAME=`whoami` > ${PACKAGE_PATH}/env/user.env",
        "echo USER_ID=`id -u` >> ${PACKAGE_PATH}/env/user.env",
        "echo GROUP_ID=`id -g` >> ${PACKAGE_PATH}/env/user.env"
    ]
}

, . map-user.sh , .



, , docker-compose. compose. , ddk , , docker-compose.yml. .


ddk compose
docker-compose up -d

, .


ddk compose --up

Hello, world


ddk -.


:


wget https://github.com/simbigo/ddk/raw/master/dist/ddk
chmod +x ddk

:


echo 127.0.0.1  hello.ddk >> /etc/hosts

:


./ddk init
./ddk project get hello
./ddk compose --up

, http://hello.ddk



:


  1. .
  2. .
  3. .
  4. .

:


  1. ddk - .
  2. MacOS, , . , - , .
  3. , . .
  4. .
  5. . , ddk.

, , , github. , -, .


github

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/330452/

:  

: [1] []
 

:
: 

: ( )

:

  URL