質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

0回答

269閲覧

docker-composeによる rails new . でプロジェクトファイルが同ディレクトリに生成されない

fuurin

総合スコア10

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1グッド

1クリップ

投稿2018/09/26 15:00

編集2018/09/26 15:03

前提・実現したいこと

docker-composeを使ってRuby on RailsとPostgreSQLによる環境構築を行おうとしています.
OSはWindows10 Proで,docker-machineのドライバにはVirtualBox5.2.18を使用しています.
公式サイトにある説明に従って構築を進めております.

発生している問題・エラーメッセージ

次のコマンドを実行するところで躓いています.

> docker-compose run web rails new . --force --database=postgresql

このコマンドを実行しても手元のディレクトリに新規プロジェクトのファイルが生成されずに困っています.

試したこと

手元にファイルが生成されていない一方,コンテナ内には生成されているようです.

> docker-compose run web ls Starting myapp_docker_db_1 ... done Gemfile Rakefile config lib public tmp Gemfile.lock app config.ru log storage vendor README.md bin db package.json test

なので,マウントができていないのではないかと思い,少し調べてみました.

docker-compose.yml

version: '3' services: db: image: postgres volumes: - ./tmp/db:/var/lib/postgresql/data web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/myapp ports: - "3000:3000" depends_on: - db

上記のソースコードのvolumesのところで,手元のディレクトリを.としていますが,これがWindowsだと読み込めないのではないかと思い,こちら(https://qiita.com/tomomomo1217/items/3e9664fd5290934f0815)を参考に`COMPOSE_CONVERT_WINDOWS_PATHS=1`を設定してみましたが,ダメでした.(というか,`docker-machine env default`にすでに含まれていました.

ちなみに,Macだとうまくいき,ファイルが生成されました.

ターミナルは普段cmdを使っていますが,PowerShellや両者の管理者モードでも試してみましたが,やはりファイルは生成されませんでした.

他にも,仮想マシンをHyper-Vにしてみたり,こちらを参考にvolumesをダブルクォートで囲ったりしてみましたが,Windowsではうまくいきませんでした.

ご回答をお待ちしております.何卒宜しくお願い致します。

補足情報

Dockerfile

FROM ruby:2.5 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /myapp WORKDIR /myapp COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock RUN bundle install COPY . /myapp

Gemfile

source 'https://rubygems.org' gem 'rails', '5.2.0'

Gemfile.lock

空のファイルです.

docker-composeの出力

Creating network "myapp_docker_default" with the default driver Pulling db (postgres:)... latest: Pulling from library/postgres 802b00ed6f79: Pull complete ... 省略 ... 86bffc7855b0: Pull complete Digest: sha256:1d26fae6c056760ed5aa5bb5d65d155848f48046ae8cd95c5b26ea7ceabb37ad Status: Downloaded newer image for postgres:latest Creating myapp_docker_db_1 ... done Building web Step 1/8 : FROM ruby:2.5 ---> eb8759981348 Step 2/8 : RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs ---> Running in f9d824c5b9d4 Reading package lists... Building dependency tree... Reading state information... libpq-dev is already the newest version (9.6.10-0+deb9u1). The following additional packages will be installed: dpkg-dev fakeroot libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libfakeroot libuv1 Suggested packages: debian-keyring The following NEW packages will be installed: build-essential dpkg-dev fakeroot libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libfakeroot libuv1 nodejs 0 upgraded, 9 newly installed, 0 to remove and 4 not upgraded. Need to get 5331 kB of archives. After this operation, 17.0 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian stretch/main amd64 dpkg-dev all 1.18.25 [1595 kB] ... 省略 ... Get:9 http://deb.debian.org/debian stretch/main amd64 nodejs amd64 4.8.2~dfsg-1 [3440 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 5331 kB in 13s (396 kB/s) Selecting previously unselected package dpkg-dev. (Reading database ... 29376 files and directories currently installed.) Preparing to unpack .../0-dpkg-dev_1.18.25_all.deb ... Unpacking dpkg-dev (1.18.25) ... ... 省略 ... Setting up libuv1:amd64 (1.9.1-3) ... Setting up dpkg-dev (1.18.25) ... Processing triggers for libc-bin (2.24-11+deb9u3) ... Setting up libfakeroot:amd64 (1.21-3.1) ... Setting up libalgorithm-diff-perl (1.19.03-1) ... Setting up nodejs (4.8.2~dfsg-1) ... update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode Setting up build-essential (12.3) ... Setting up fakeroot (1.21-3.1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Setting up libalgorithm-merge-perl (0.08-3) ... Setting up libalgorithm-diff-xs-perl (0.04-4+b2) ... Processing triggers for libc-bin (2.24-11+deb9u3) ... Removing intermediate container f9d824c5b9d4 ---> fd396e5376f4 Step 3/8 : RUN mkdir /myapp ---> Running in 5aaf849ee6da Removing intermediate container 5aaf849ee6da ---> e3ed80039a6d Step 4/8 : WORKDIR /myapp ---> Running in 4764db56fe96 Removing intermediate container 4764db56fe96 ---> 5aa7f0379888 Step 5/8 : COPY Gemfile /myapp/Gemfile ---> ed5f9cab9bde Step 6/8 : COPY Gemfile.lock /myapp/Gemfile.lock ---> 62479b0b0a7e Step 7/8 : RUN bundle install ---> Running in 978901636fc1 Fetching gem metadata from https://rubygems.org/.......... Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Fetching rake 12.3.1 Installing rake 12.3.1 ... 省略 ... Fetching rails 5.2.0 Installing rails 5.2.0 Bundle complete! 1 Gemfile dependency, 41 gems now installed. Bundled gems are installed into `/usr/local/bundle` Removing intermediate container 978901636fc1 ---> b2c5ca8c4c33 Step 8/8 : COPY . /myapp ---> 3aaa81688c3d Successfully built 3aaa81688c3d Successfully tagged myapp_docker_web:latest WARNING: Image for service web was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`. Could not find activesupport-5.2.1 in any of the sources Run `bundle install` to install missing gems.
KazuyukiShibata👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問