はじめに
サクッと環境を構築するのに、最初にapt-get updateを省略してしまったがために、ハマってしまった。今後同じ過ちを繰り返さない為にまとめ。
実施したDockerfile
実にシンプル。
ubuntuを持ってきて、wgetとnodejsとnpmでも入れて動かそうと思った。いろんなサンプルファイルではしっかりとapt-get updateの記載があったが、あえて外した。そして結果的に時間を要した。
実施したDockerfileはこちら
#利用するUbuntuのイメージ FROM ubuntu:16.04 # wgetをインストール RUN apt-get install -y wget RUN apt-get install -y nodejs RUN apt-get install -y npm
docker buildコマンド
$ docker build -t ubuntuuuu . Sending build context to Docker daemon 4.57GB Step 1/4 : FROM ubuntu:16.04 ---> 7aa3602ab41e Step 2/4 : RUN apt-get install -y wget ---> Running in 30312e88bc87 Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package wget The command '/bin/sh -c apt-get install -y wget' returned a non-zero code: 100 $
E: Unable to locate package
まずネットワーク周りを疑ったが、異常はなさそうだった。
対処
諸々installする処理の前にapt-get updateを入れたのみ。
#利用するUbuntuのイメージ FROM ubuntu:16.04 # wgetをインストール RUN apt-get update # 追加 RUN apt-get install -y wget RUN apt-get install -y nodejs RUN apt-get install -y npm
build結果
$ docker build -t ubuntuuuu . Sending build context to Docker daemon 4.57GB Step 1/5 : FROM ubuntu:16.04 ---> 7aa3602ab41e Step 2/5 : RUN apt-get update ---> Running in f929ef07a958 Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB] Get:2 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB] (略) Removing intermediate container fc51f9cd4a4f ---> 3e9f68c18e10 Successfully built 3e9f68c18e10 Successfully tagged ubuntuuuu:latest $
無事Successfullyになった。
なぜapt-get updateが無いと失敗するのか
憶測に過ぎないが、おそらくコンテナ版ubuntuを使わせる上で、必ず最新版のパッケージでないと使わせないというubuntu側(?)の意向のように感じる
所感
昨年発売され賑わっているAirPods ProだがAmazonでも販売を開始するようになり、Amazonでは今はポイントもつくようになっているようだ。自分は仕事しながら音楽聞かないが、ノイズキャンセルは気になる。