- run playbook-docker.yml using Ansible.
- connect to docker host.
mkdir <repository_name>; cd <repository_name>
- create Dockerfile.development and docker-compose.yml
mkdir app
- create Gemfile and Gemfile.lock in app directory.
docker-compose run --rm rails rails new . --force --database=postgresql --skip-bundle --skip-test --api
edit config/database.yml
docker-compose build
docker-compose run rails bundle exec rake db:create db:migrate db:seed
docker-compose up
docker run --rm --volumes-from コンテナ名(ex. rails3pgsql_data_1) -v $(pwd):/backup イメージ名(ex. postgres:9.5) tar cvf /backup/backup.tar /var/lib/postgresql/data
docker run --rm --volumes-from rails3pgsql_data_1 -v $(pwd):/backup postgres:9.5 tar xvf /backup/backup.tar
- docker-compose.ymlに「build:」があれば、そのイメージをまとめてビルド
docker-compose build
- dcoker-compose.ymlに「image:」があれば、そのイメージをまとめてプル
docker-compose pull
- もしサービス用のコンテナが存在している場合、かつ、コンテナを作成後にサービスの設定やイメージを変更している場合は、 docker-compose up -d を実行すると、 設定を反映するためにコンテナを停止・再作成します(マウントしているボリュームは、そのまま保持します)。
docker-compose up -d
- docker-compose build, docker-compose pullをした後にdocker runをバックグラウンド起動
docker-compose up -d <サービス名(指定しなければdocker-compose.ymlで定義した全てのサービスが起動する)>
- docker-copose.ymlで定義されたサービスコンテナを停止
docker-compose stop
- docker-copose.ymlで定義されたサービスコンテナを起動
docker-compose start
- docker-compose.ymlで定義されたサービスコンテナを削除
docker-compose rm
- dockerコンテナを全て削除
docker rm $(docker ps -aq)
docker rm $(docker ps -f status=exited -q)
- コンテナに接続
docker exec -it rails3pgsql_rails_1 bash