0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerお困りごと

Last updated at Posted at 2019-04-04

Dockerで詰まったところをまとめていく

気が向いたり、見つけたりしたら追記していくと思う。
もしかしたらgithubのtilにまとめちゃって更新しないかもしれない。

sourceコマンドが使えない

エラーメッセージ
/bin/sh | source: not found

Dockerのビルドでは/bin/shが使われていた。
ubuntuでは/bin/sh -> /bin/dashになっていた。
sourceコマンドや.コマンドはbashの組み込み(?)関数なので、そういう設定が必要

dockerfile
SHELL ["/bin/bash", "-o", "pipeline". "-c"]

無理矢理/bin/sh/bin/bashに向かせるシンボリックリンクを作ったりするとhadolintに怒られるよ

  • DL4005
  • SC2039

この辺のエラー

テキストファイルがビジー云々

エラーメッセージ
/bin/sh: ./configure: /bin.sh: Text file busy
/bin/sh: ./configure: /bin/sh: 誤ったインタプリタです:テキストファイルがビジー状態です

configureファイルの中とかでchmodしていないですか?
chmodコマンド後にsyncコマンドを使うと解決します。

dockerfile
RUN find ./ -type f -name * | xargs sed -i /^chmod/a sync

これだと行頭のchmodコマンドしか見つけられない。
パイプしてるようなのまで見つけようと思ったらsedコマンドの内容を変えてね
参照したIssue: Running chmod on file results in 'text file busy' when running straight after. #9547

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?