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

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

新規登録して質問してみよう
ただいま回答率
86.02%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Magento

Magentoはオープンソースでも業務用のライセンスでも取得することができるZend Frameworkベースで作られたeコマースのプラットフォームです。

Docker

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

Q&A

解決済

dockerでのshellスクリプトがスキップされる。

yuki_90453
yuki_90453

総合スコア326

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Magento

Magentoはオープンソースでも業務用のライセンスでも取得することができるZend Frameworkベースで作られたeコマースのプラットフォームです。

Docker

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

1回答

0グッド

0クリップ

345閲覧

投稿2018/10/28 07:17

###経緯
dockerfileにて下記のシェルをコピー、実行をしたいと考えています。
シェルではexpectを用いてインタラクティブな動作の回避をしています。

COPY ./magento_install.sh / RUN sudo /bin/bash /magento_install.sh

シェルスクリプトは下記になります。

1 #! /bin/sh 2 3 ID="hogehoge" 4 PW="hogegoge" 5 YES=Y 6 7 expect -c " 8 set timeout 60 9 spawn env LANG=C sudo /usr/local/bin/composer.phar create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.2.5 /var/www/html/ 10 expect \"Username:\" 11 send \"${ID}\n\" 12 expect \"Password:\" 13 send \"${PW}\n\" 14 expect \"Do you want to store credentials\" 15 send \"${YES}\n\" 16 expect \"$\" 17 exit 0 18 "

###問題
実行すると下記のように「Removing intermediate container 」と表示され実際にインストール作業が行られません。
何度かビルドしていますが、最初はインストール作業が行われていました。

Step 28/37 : RUN sudo /bin/bash /magento_install_2.sh ---> Running in 08e7fc8a4e62 spawn env LANG=C sudo /usr/local/bin/composer.phar create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.2.5 /var/www/html/ Removing intermediate container 08e7fc8a4e62 ---> ac8813a77265

###試した事
イメージとコンテナを全て削除し、ビルド時はオプションno-cacheを指定しています。

docker rm $(docker ps -aq) docker rmi $(sudo docker images -q)

###質問
なぜシェル内のスクリプトは実行されないのでしょうか?

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

自己解決

シンタックスエラーが原因でした。

投稿2018/10/28 12:45

yuki_90453

総合スコア326

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Magento

Magentoはオープンソースでも業務用のライセンスでも取得することができるZend Frameworkベースで作られたeコマースのプラットフォームです。

Docker

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