LoginSignup
2
0

More than 3 years have passed since last update.

[docker,composer]executor failed running [/bin/sh -c apt-get update && apt-get install -y git zip unzip && curl -sS https://getcomposer.org/installer | php \ && mv composer.phar /usr/local/bin/composer]: exit code: 1 の解決例

Last updated at Posted at 2021-03-20

何をしようとして起きた?

下記の条件でcomposerだけdockerfileを分けてimage作成しようとしたところ、題名のエラー文を吐きました。

Dockerfile

Dockerfile

FROM php:7.4-fpm
WORKDIR /var/www/html
RUN apt-get update && apt-get install -y \
git \
zip \
unzip \
&& curl -sS https://getcomposer.org/installer | php \ && mv composer.phar /usr/local/bin/composer

エラー文

% docker build -t composer:latest -f ./composer/Dockerfile . #buildコマンド

[+] Building 169.4s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                            0.0s
 => => transferring dockerfile: 249B                                                                                                                                            0.0s
 => [internal] load .dockerignore                                                                                                                                               0.0s
 => => transferring context: 2B                                                                                                                                                 0.0s
 => [internal] load metadata for docker.io/library/php:7.4-fpm                                                                                                                  1.3s
 => CACHED [1/3] FROM docker.io/library/php:7.4-fpm@sha256:c84d7c735418da68ad223c3f41fb09c3c04da243fef28c483f58eff769452ea8                                                     0.0s
 => [2/3] WORKDIR /var/www/html                                                                                                                                                 0.0s
 => ERROR [3/3] RUN apt-get update && apt-get install -y   git   zip   unzip && curl -sS https://getcomposer.org/installer | php  && mv composer.phar /usr/local/bin/compose  167.9s
------
 > [3/3] RUN apt-get update && apt-get install -y   git   zip   unzip && curl -sS https://getcomposer.org/installer | php  && mv composer.phar /usr/local/bin/composer:
#6 0.508 Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
#6 0.562 Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
#6 0.763 Get:3 http://security.debian.org/debian-security buster/updates/main amd64 Packages [269 kB]
#6 2.459 Get:4 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
#6 3.867 Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
#6 70.53 Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [9504 B]
#6 71.68 Fetched 8424 kB in 1min 11s (118 kB/s)
#6 71.68 Reading package lists...
〜 成功ログ部分省略 〜
#6 166.4 Setting up git (1:2.20.1-2+deb10u3) ...
#6 166.4 Setting up xauth (1:1.0.10-1) ...
#6 166.4 Processing triggers for libc-bin (2.28-10) ...
#6 166.5 Could not open input file: #ここがエラーの原因...?
#6 167.8 curl: (23) Failed writing body (0 != 16366)
------
executor failed running [/bin/sh -c apt-get update && apt-get install -y   git   zip   unzip && curl -sS https://getcomposer.org/installer | php \ && mv composer.phar /usr/local/bin/composer]: exit code: 1
#↑エラー文
%

原因は?

Dockerfileの7行目がうまく改行ができていなかったからでした。

そのため、改行をつなげるための\は文末になければならないのに文中に来てしまっており、コマンドの文字として扱われてしまっていました。

解決方法

下記のようにDockerfileを直すことでこのエラーを消すことができました。

Dockerfile

FROM php:7.4-fpm
WORKDIR /var/www/html
RUN apt-get update && apt-get install -y \
git \
zip \
unzip \
&& curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer

余談

今回のものは凡ミスすぎて検索で解決策が出てこなかったため、逆に需要があるかと思い記事にしました。

またこの他にも、mvコマンドがcomposerディレクトリに入れているように見えて実はファイル名を変えているというつまづきポイントがあるので、この機会に頭の片隅に入れておかれると良いかと思います。(参考記事:https://sheefelt.hatenablog.com/entry/2019/01/06/000902

2
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
2
0