[ ] docker-compose |
, docker. , . docker-, , , , . , , .
. , , . , . . , , , . , . docker-. , . . docker-compose.
. , docker-compose, . - . , . . , docker-compose.yml, . , , . , , , , . ...
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, , - . , , , , , , . .
. . . . 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
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
:
:
, , , github. , -, .