前回に引き続き、初心者ですがオライリー社の「Docker」を読みながら勉強しています。
Dockerfileからのイメージの構築作業でエラーが出てしいましたので、どなたかご助力頂ければ有難いです。
テキストに沿って打ったシェルコマンド
$ mkdr cowsay $ cd cowsay $ touch Dockerfile
Dockerfileへの書き込み
FROM debian:wheezy RUN apt-get update && apt-get install -y cowsay fortune
シェルコマンド
$ docker build -t test/cowsay-dockerfile .
Dockerfileへの追加
ENTRYPOINT ["/usr/games/cowsay"]
この時点で
$ docker build -t test/cowsay-dockerfile $ docker run test/cowsay-dockerfile "Moo"
を打つと牛が表示されるのですが、Dockerfileと同じディレクトリにentrypoint.shを作成して
#!/bin/bash if[ $# -eq 0 ];then /usr/games/fortune | /usr/games/cowsay else /usr/games/cowsay "$@" fi
上記を入力→保存
chmod +x entrypoint.shでファイルに実行可能属性をつけて
Dockerfileを以下に修正
FROM debian:wheezy RUN apt-get update && apt-get install -y cowsay fortune COPY entrypoint.sh / ENTRYPOINT ["/entrypoint.sh"]
最後にシェルコマンドで
$ docker build -t test/cowsay-dockerfile $ docker run test/cowsay-dockerfile
を入力すると格言を言う牛が表示されるはずなのですが、以下のエラーが出てしまいました。
/entrypoint.sh: line 2: syntax error near unexpected token `then' /entrypoint.sh: line 2: `if[ $# -eq 0 ];then'
entrypoint.shを見直してみてもテキスト通りになっているはずなのですが、、、
どなたかご意見頂ければ有難いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/12 02:49 編集