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

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

新規登録して質問してみよう
ただいま回答率
85.50%
docker-compose

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

Ruby on Rails

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

Docker

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

Q&A

解決済

1回答

998閲覧

【Rails6】puma.sockを.dockerignoreに追加するのって問題ないでしょうか?

Kiyobun510

総合スコア12

docker-compose

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

Ruby on Rails

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

Docker

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

0グッド

0クリップ

投稿2020/11/20 14:28

編集2020/11/20 14:29

Railsアプリのルードディレクトリにあったpuma.sockファイルを誤って削除してしまい、dockerがビルドできなくなりpuma.sockが読み込めないみたいなエラーが出ました。
とりあえず.dockerignoreにpuma.sockを記述したらビルドできるようになったのですが、これって何か問題あるのでしょうか?

現上、開発環境でアプリを動かしている感じでは問題なさそうです。

ファイルを元に戻すために、touch puma.sock を実行したのですが、Permission Deniedと言われできませんでした。
ちなみに、vscodeのエディター上にはファイルはないですが、デスクトップにあるローカルのフォルダをクリックするとpuma.sockは存在しているというよくわからない状況です。

$ dc build db uses an image, skipping Building app Traceback (most recent call last): File "site-packages\docker\utils\build.py", line 96, in create_archive OSError: [Errno 22] Invalid argument: '\\?\C:\Users\User\Desktop\portfolio\webapp\puma.sock' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "docker-compose", line 3, in <module> File "compose\cli\main.py", line 67, in main File "compose\cli\main.py", line 126, in perform_command File "compose\cli\main.py", line 302, in build File "compose\project.py", line 468, in build File "compose\project.py", line 450, in build_service File "compose\service.py", line 1125, in build File "site-packages\docker\api\build.py", line 160, in build File "site-packages\docker\utils\build.py", line 31, in tar File "site-packages\docker\utils\build.py", line 100, in create_archive OSError: Can not read file in context: \?\C:\Users\User\Desktop\portfolio\webapp\puma.sock [7284] Failed to execute script docker-compose

Dockerfile

FROM ruby:2.7.1 # リポジトリを更新し依存モジュールをインストール RUN apt-get update -qq && \ apt-get install -y build-essential \ nodejs # yarnパッケージ管理ツールインストール RUN apt-get update && apt-get install -y curl apt-transport-https wget && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt-get update && apt-get install -y yarn RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add \ && echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list \ && apt-get update -qq \ && apt-get install -y google-chrome-stable libnss3 libgconf-2-4 # chromedriverの最新をインストール RUN CHROMEDRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE` \ && curl -sS -o /tmp/chromedriver_linux64.zip http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip \ && unzip /tmp/chromedriver_linux64.zip \ && mv chromedriver /usr/local/bin/ # Imagemagicをインストール RUN apt-get update && apt-get install -y imagemagick libmagick++-dev # Node.jsをインストール RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ apt-get install -y nodejs # ルート直下にwebappという名前で作業ディレクトリを作成(コンテナ内のアプリケーションディレクトリ) RUN mkdir /webapp WORKDIR /webapp # ホストのGemfileとGemfile.lockをコンテナにコピー COPY Gemfile /webapp/Gemfile COPY Gemfile.lock /webapp/Gemfile.lock # bundle installの実行 RUN bundle install # ホストのアプリケーションディレクトリ内をすべてコンテナにコピー COPY . /webapp # puma.sockを配置するディレクトリを作成 RUN mkdir -p tmp/sockets

docker-compose.yml

yml

1version: '3' 2services: 3 app: 4 build: 5 context: . 6 command: bundle exec puma -C config/puma.rb 7 volumes: 8 - .:/webapp 9 - .:/webapp/tmp/sockets 10 - bundle:/bundle 11 - public-data:/webapp/public 12 - log-data:/webapp/log 13 depends_on: 14 - db 15 tty: true 16 stdin_open: true 17 18 db: 19 image: mysql:5.7 20 volumes: 21 - db-data:/var/lib/mysql 22 23 web: 24 build: 25 context: containers/nginx 26 volumes: 27 - .:/webapp/tmp/sockets 28 - public-data:/webapp/public 29 ports: 30 - 80:80 31 depends_on: 32 - app 33 34volumes: 35 public-data: 36 log-data: 37 db-data: 38 bundle: 39 driver: local 40

ご回答いただけますと幸いです。宜しくお願い致します。

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

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

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

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

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

guest

回答1

0

自己解決

デスクトップになぜか残存していたローカルのpuma.sockを削除したら.dockerignoreいじらなくても正常に動作しました。

投稿2021/01/24 01:03

Kiyobun510

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問