Docker-compose
The docker-compose container runs the latests docker-compose & Docker within a container.
Usage:
The Docker socket needs to be mounted as a volume to control Docker on the host. A source folder must be mounted to access the docker-compose definition
Build & Run
Move to the ckan-docker directory
- Build it:
Build the Docker image from docker/compose/Dockerfile, and call it "dockercompose_container"
docker build --tag="dockercompose_container" docker/fig
- Run it:
Start the a container based on the dockercompose_container Docker image
docker run -it -d --name="dockercompose-ckan" -p 2375 -v /var/run/docker.sock:/tmp/docker.sock -v $(pwd):/src dockercompose_container
- Set the source volume path to yours.
In the docker-compose container docker-compose won't work with relative path, because the mount namespace is different, you need to change the relative path to absolute path
for example, change the ./:
volumes:
- ./_src:/usr/lib/ckan/default/src
to an absolute path to you ckan-docker directory: /Users/username/git/ckan/ckan-docker/
volumes:
- /Users/username/git/ckan/ckan-docker/_src:/usr/lib/ckan/default/src
- Build the Docker images & run the containers:
Send the docker-compose up command to the docker-compose container
docker exec -it dockercompose-ckan docker-compose up
Using the Docker-compose container
You can use any docker-compose command by pre-pending the docker exec -it dockercompose-ckan command to any docker-compose command
build & start / recreate
docker exec -it dockercompose-ckan docker-compose up
stop it
docker exec -it dockercompose-ckan docker-compose stop
start it
docker exec -it dockercompose-ckan docker-compose start
delete the containers
docker exec -it dockercompose-ckan docker-compose rm
build new images
docker exec -it dockercompose-ckan docker-compose build
logs
docker exec -it dockercompose-ckan docker-compose logs