Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ローカルでビルドしたdocker imageを利用すると起動できない #6126

Open
Meganezaru opened this issue Mar 30, 2024 · 6 comments
Labels

Comments

@Meganezaru
Copy link

概要(Overview)

docker-compose.ymlのコメントとして記載されているdocker buildを利用してイメージを作成したのち、docker-compose up -dすると、ec-cubeコンテナが異常終了してしまう

error logとして
exec /usr/local/bin/docker-php-entrypoint: no such file or directory
と表示される

再現手順(Procedure)

  1. ec-cubeリポジトリをcloneしディレクトリ内へ移動
  2. docker build -t ec-cube --no-cache --pull --build-arg TAG=8.1-apache を実行
  3. docker tag ec-cube ghcr.io/ec-cube/ec-cube-php:8.1-apacheを実行
  4. docker-compose up -dを実行(ec-cubeコンテナが異常終了する)

ec-cubeイメージのエントリーポイントを/bin/bashに指定してコンテナを起動し以下の確認を実施

  1. /usr/local/bin/docker-php-entrypointファイルの確認(存在する)
  2. /usr/local/bin/docker-php-entrypointの実行(エラーとなる /bin/sh: 5: /usr/local/bin/docker-php-entrypoint: not found)
  3. composerの実行(コマンド一覧が表示される)
  4. bin/consoleの実行(エラーとなる /usr/bin/env: 'php\r': No such file or directory)

環境(Environment)

EC-CUBE 4.3ブランチ、4.2ブランチの二つを試した
dockerはWindowsで実行(Windows10, 11共現象を確認)

@Meganezaru Meganezaru added the bug label Mar 30, 2024
@Meganezaru
Copy link
Author

Meganezaru commented Mar 30, 2024

引き続き調査したところ、shebang行にWindows改行が利用されていると認識できないようです

Windowsでbuildする場合、コンテナ内にCOPYするコマンド系のスクリプトは、改行を変換する必要があるようです
https://willi.am/blog/2016/08/11/docker-for-windows-dealing-with-windows-line-endings/

@Meganezaru
Copy link
Author

作法をあまり理解できていないですので、何か問題があればご指摘いただければありがたいです
#6127

@nanasess
Copy link
Contributor

@Meganezaru Window 環境では WSL2 のご利用を強くおすすめします。
PHPとDockerとNTFSの相性が強烈に悪いことと、積極的に利用するユーザーが少ないため、あまり保守されていません。
WSL2 を利用できない要件などありましたらご教授ください🙇‍♂️

@Meganezaru
Copy link
Author

@nanasess しいて言えばDocker desktopを利用したいという事がありますが、できない要件は特にないと思いますので、WSL2での開発を考えてみます。アドバイスありがとうございます。

@nanasess
Copy link
Contributor

@Meganezaru
WSL2経由でも Docker Desktop を利用可能ですので、こちらもご検討ください🙇‍♂️
https://docs.docker.jp/desktop/windows/wsl.html

@Meganezaru
Copy link
Author

@nanasess いろいろ情報ありがとうございます。助かります🙇‍♂️

現象として致命的に感じるものが処置されていないことに、とても違和感があったのですが、
常識的にWSL2上で作業することが分かり納得しました。

Docker Desktopと同じようにVSCodeなども同じような利用方法がきっと有るんでしょうね。
いままでWindowsを開発環境として使ってこなかったので、勉強になります、ありがとうございました。

私と同じように改行周りで問題が出るというセンスがない人は、同じようなハマり方をしてコンテナ利用を断念する人がいるように感じます。何か示唆できるとよいかもしれません。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants