- 投稿日:2020-07-21T22:49:31+09:00
A server is already running. Check /[WORKDIR]/tmp/pids/server.pid.の解決方法
- 投稿日:2020-07-21T22:38:56+09:00
【Splunk】DockerでSplunkのログ転送ができる環境(All-In-One, UF)をほぼCLIで構築してみる
どうも、おはこんばんわ。
今更ながらDockerでSplunkを実装したかったので、やってみた。
バージョン
・Docker 2.3.0.3 (Windows) Download link
・Splunk Enterprise 8.0.4.1 Docker hub
バージョン毎のレポジトリも存在するので、気になる方はDocker Hubで検索してみてください。・Splunk Universal Forwarder 8.0.4.1 Docker hub
バージョン毎のレポジトリも存在するので、気になる方はDocker Hubで検索してみてください。Splunkの構成
++++++++++++++++++++++++++
+ Client < === > AIO < === > UF +
++++++++++++++++++++++++++
AIO = Splunk All-In-One
UF = Splunk Universal Forwarder使用ポート
通信名 送信元 宛先 UDP/TCP ポート番号 備考 Splunk Web Client AIO TCP 8000 Default ログ転送 UF AIO TCP 9997 Default Deploy polling UF AIO TCP 8089 Default App配布 AIO UF TCP 8089 Default *詳しくは、右記公式マニュアルを参照してください。link
Splunk Enterprise のイメージをダウンロードしてみる
docker pull splunk/splunk:latest1秒くらいで終わります。
ダウンロードしたイメージを確認してみる
docker images REPOSITORY TAG IMAGE ID CREATED splunk/splunk latest 74d1b0a6924f X weeks agoちゃんといますね。
Splunk Enterprise を run してみる
docker run -d -p 8000:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=password" --name splunk splunk/splunk:latest検証用なので、ほぼデフォルトで稼働させます。
ステータスも確認してみる
docker exec -it -u splunk splunk /bin/bash -c "/opt/splunk/bin/splunk status" splunkd is running (PID: 687). splunk helpers are running (PIDs: 688 702 764 787).どうやら最初からデーモンが開始されている様です。
ついでにバージョンを確認してみる
docker exec -it -u splunk splunk /bin/bash -c "/opt/splunk/bin/splunk version" Splunk 8.0.4.1 (build ab7a85abaa98)Splunk Web にアクセスしてみる
<IP_ADDR>:8000デフォルトのユーザ情報は以下の通りです。
Username = admin
Password = passwordSplunk のホーム画面が表示されたらOKです。
*画像が貼れなくて申し訳ない。表示できたらUFの実装をサクサクやってみましょう!
Universal Forwarder のイメージをダウンロードしてみる
docker pull splunk/universalforwarder:latestこれも1秒くらいで終わります。
ダウンロードしたイメージを確認してみる
docker images REPOSITORY TAG IMAGE ID CREATED splunk/universalforwarder latest 596e5124bd2b X weeks agoUniversal Forwarder を runしてみる
docker run -d -p 9997:9997 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=password" --name uf splunk/universalforwarder:latestEnterprise と同様デフォルトで稼働させます。
ステータスを確認してみる
docker exec -it -u splunk uf /bin/bash -c "/opt/splunkforwarder/bin/splunk status" splunkd is running (PID: 727). splunk helpers are running (PIDs: 729).ついでにバージョンを確認してみる
docker exec -it -u splunk uf /bin/bash -c "/opt/splunkforwarder/bin/splunk version" Splunk Universal Forwarder 8.0.4.1 (build ab7a85abaa98)UF から All-In-One にログの転送する為の準備①をしてみる(All-In-One側の受信ポート設定)
#App作成コマンド docker exec -it -u splunk splunk /bin/bash -c "mkdir -p /opt/splunk/etc/apps/{<APP_NAME>/local,/<APP_NAME>/metadata}" docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/apps/<APP_NAME>/local/app.conf" docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/apps/<APP_NAME>/metadata/local.meta" docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/apps/<APP_NAME>/local/inputs.conf" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[ui]\\nis_visible" "=" "false\\n\\n[launcher]\\nversions" "=" "1.0.0\\n" >> /opt/splunk/etc/apps/<APP_NAME>/local/app.conf" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[]\\naccess" "=" "read" ":" "[" "\*" "]," "write" ":" "[" "\*" "]\\nexport" >> /opt/splunk/etc/apps/<APP_NAME>/metadata/local.meta" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[splunktcp://9997]\\nconnection_host" "=" "ip\\n" >> /opt/splunk/etc/apps/<APP_NAME>/local/inputs.conf" #確認コマンド docker exec -it -u splunk splunk /bin/bash -c "ls -lR /opt/splunk/etc/apps/<APP_NAME>" docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/apps/<APP_NAME>/local/app.conf" docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/apps/<APP_NAME>/metadata/local.meta" docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/apps/<APP_NAME>/local/inputs.conf"<APP_NAME>、はお好みに変更してください。
*センスの無いコマンドはご愛敬で。。。UF から All-In-One にログの転送する為の準備②をしてみる(UF側で Target Deployment Server)
docker exec -it -u splunk uf /bin/bash -c "/opt/splunkforwarder/bin/splunk set deploy-poll <IP_ADDR>:8089"<IP_ADDR>は、「All-In-One」のIPアドレスを入力します。
UF から All-In-One にログの転送する為の準備③をしてみる(UF配布用ログ転送Appの作成)
#App作成コマンド docker exec -it -u splunk splunk /bin/bash -c "mkdir -p /opt/splunk/etc/deployment-apps/{<APP_NAME>/local,/<APP_NAME>/metadata}" docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/deployment-apps/<APP_NAME>/app.conf" docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/deployment-apps/<APP_NAME>/metadata/local.meta" docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/deployment-apps/<APP_NAME>/local/outputs.conf" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[ui]\\nis_visible" "=" "false\\n\\n[launcher]\\nversions" "=" "1.0.0\\n" >> /opt/splunk/etc/deployment-apps/<APP_NAME>/local/app.conf" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[]\\naccess" "=" "read" ":" "[" "\*" "]," "write" ":" "[" "\*" "]\\nexport" "=" "system\\n" >> /opt/splunk/etc/deployment-apps/<APP_NAME>/metadata/local.meta" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[tcpout]\\ndefaultGroup" "=" "test\\nuseACK" "=" "true\\n\\n[tcpout:test]\\nserver" "=" "<IP_ADDR>\\n" >> /opt/splunk/etc/deployment-apps/<APP_NAME>/local/outputs.conf" #確認コマンド docker exec -it -u splunk splunk /bin/bash -c "ls -lR /opt/splunk/etc/deployment-apps/" docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/deployment-apps/<APP_NAME>/local/app.conf" docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/deployment-apps/<APP_NAME>/metadata/local.meta" docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/deployment-apps/<APP_NAME>/local/outputs.conf"<IP_ADDR>は、「All-In-One」のIPアドレスを入力します。
<APP_NAME>、はお好みに変更してください。上記で作成したAppをUFに配布されます。
UF から All-In-One にログの転送する為の準備④をしてみる(サーバクラスの作成)
#serverclass.conf作成コマンド docker exec -it -u splunk splunk /bin/bash -c "touch /opt/splunk/etc/system/local/serverclass.conf" docker exec -it -u splunk splunk /bin/bash -c "echo -e "[general]\\nrestartSplunkd" "=" "true\\nrestartSplunkWeb" "=" "false\\nstateOnClient" "=" "enabled\\n\\n[serverClass:<CLASS_NAME>]\\nwhitelist.0" "=" "<IP_ADDR>\\n\\n[serverClass:<CLASS_NAME>:app:<APP_NAME>]\\n" >> /opt/splunk/etc/system/local/serverclass.conf" #確認コマンド docker exec -it -u splunk splunk /bin/bash -c "cat /opt/splunk/etc/system/local/serverclass.conf"<APP_NAME>は、「UF配布用ログ転送Appの作成」のと一致させてください。
<IP_ADDR>は、「UF」のIPアドレスを入力します。
<CLASS_NAME>は、お好みに変更してください。UF から All-In-One にログの転送する為の準備⑤をしてみる(デプロイ)
docker exec -it -u splunk splunk /bin/bash -c "/opt/splunk/bin/splunk reload deploy-server" Splunk username: admin Password: Reloading serverclass(es).サクセス!!
UF が Deployment Server と疎通ができたか確認してみる
Splunk Web にアクセスして、確認してみましょう。
・アクセスURLは、右記です。http://localhost:8000/ja-JP/manager/system/deploymentserver
・アクセス方法は、「Splunk Web」→右上「設定」→「フォーワーダー管理」に遷移した後、「クライアント」に存在していれば疎通OKです。ログの転送確認をしてみる
最後の確認も Splunk Web で確認します。
・アクセスURLは、右記です。http://localhost:8000/ja-JP/app/search/search
・アクセス方法は、「Splunk Web」→左部App「Search & Reporting」
・アクセス後、サーチバーへ以下のサーチ分を実行してみましょう。index=_internal clientip="<UF_IP_ADDR>"結果が表示されたらOKです。
*画像が無いのは申し訳ないです。。。おわりに
Dockerで構築ってすっごい簡単ですし、不要になったら消せるので、気軽に試してみてください!
その際に参考になれば幸いです。また、今回はUFの内部ログのみ収集をしていますが、様々なログを収集できるので、詳しくは公式マニュアルか他の方々のサイトを参考にしていただければと思います。
もし機会があれば、そのあたりも書こうかなって思います。
(何時迄にはと言ってない。。。)10-4, 10-10
- 投稿日:2020-07-21T19:29:26+09:00
最小限のGitLab環境を作る(移行テスト用)
目的
動作確認やデータ移行のために、最小限かつ再構築&使い捨て可能な GitLab 環境を用意したい。実運用で他のユーザーが利用するということは考慮しない。
用途例
私の中では、Trac/Redmine+Subversion+Jenkinsなどを捨ててGitLabに移行するまでの道のり の中での作業の一環。
上記の記事で、
- Trac → Redmine
- Subversion → Git
に変換できたので Trac/Redmine の Ticket/Issue 等を GitLab に移行するテスト環境を用意したい。Vagrant 等で作った VM 上に Omnibus 版を入れるという方法や誰かが作ったGitLab boxを利用するか、 Docker Desktop for * に k8s が入ってるので、Helm chart でという方法もあるかもしれない(やったことないが)。しかし k8s は逆に大掛かり。Docker Hub の公式イメージ gitlab/gitlab-ce は Omnibus 版を Docker image に詰め込んだものの様で、Docker container のあり方1とか、マイクロサービス的にどうなの?という気もするが、サクッと環境を用意するにはとても便利なのでこちらを利用。sameersbn/gitlab は中途半端な気がした。
設定
公式サイト > Omnibus GitLab Docs > GitLab Docker images
に記載されている通り、
最初に書いたとおり、本番運用するものでなく、あくまでもローカルの検証テストやデータ移行様なので、
http://localhost:8081
で稼働させる。検証環境なら Docker Desktop for * を使うことが多いと思う。この場合、 docker-compose が最初から使えるから、オプション指定するよりもdocker-compose.yml
が楽。データ移行目的なら、 ssh や https も不要なので http を別ポートで稼働させるだけ。
web: image: 'gitlab/gitlab-ce:latest' hostname: 'localhost' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://localhost:8081' ports: - '8081:8081' volumes: - '$GITLAB_HOME/config:/etc/gitlab' - '$GITLAB_HOME/logs:/var/log/gitlab' - '$GITLAB_HOME/data:/var/opt/gitlab'これで、
永続化するヴォリュームのパスを指定し、
$ export GITLAB_HOME=$PWD/srv/gitlab起動、
$ docker-compose up
あるいはバックグラウンド起動で、
$ docker-compose up -dあとは、しばらく待ってログで起動を確認してから、ブラウザでアクセスして管理者パスワードを変更すれば良い。
GitLab API v3 対応→ 不要以前、redmine-gitlab-migrator を調べたときは非対応だったけど、現在は対応しているので不要。というかURLが
/api/v3
→/api/v4
になり、API Ver. 切り替えがあるわけではないので、当然最新版は API v4 でないと動作しない。Open中 の Issue があるが、小さなプロジェクトで Redmine 3.4.13 → GitLab 13.1.4 への変換を試したところ roadmap/issue は なんとなく移行できる様子。GitHub の Description/About にLOOKING FOR MAINTAINER
の記載があるのでメンテナンスが滞ってるような雰囲気があったが数日前にも更新されている。
- The v3 API is deprecated and not usable with a actual gitlab version
- Gitlab v3 -> v4 api possible solution #34
ところで、Redmine to Gitlab migrator を使いたいが、こちら、API v3 にしか対応していないので、API v3 をサポートしている GitLab を選びたい。
- GitLab Docs > API Docs > API V3 to API V4
- GitLab #36819 Removal of API v3 from the codebase
GitLab 9.5 でサポート自体は終了し API V4 に移行したが、コード自体は残りAPI V3 でも応答している。その後、11.0 で API V3 のコード自体が削除された。10.x の最終版は 10.8.7 になり、ここまで API V3 の応答は返してくる。
一応 V3 API をサポートしている 9.x を選ぶべきか悩むが、10.8.7 で移行作業を試してみる。→ 上記の通り、redmine-gitlab-migrator は API V4 に対応してる。#web: # image: 'gitlab/gitlab-ce:10.8.7-ce.0' # hostname: 'localhost' # environment: # GITLAB_OMNIBUS_CONFIG: | # external_url 'http://localhost:8081' # listen_port 8081 # ports: # - '8081:8081' # volumes: # - '$GITLAB_HOME/config:/etc/gitlab' # - '$GITLAB_HOME/logs:/var/log/gitlab' # - '$GITLAB_HOME/data:/var/opt/gitlab'ちなみに、11.0.0 で API V3 を試すとこんな感じ。
$ curl "http://localhost:8081/api/v3/users?private_token=XXXXXXXXXXXXXXXXXXXX" {"error":"API V3 is no longer supported. Use API V4 instead."}今後
Redmine to Gitlab migrator(redmine-gitlab-migrator) は71のFork2があり、どの修正版が良いのか確認していない。もしかしたら API V4 に対応した Fork があれば…と思うが、とりあえず、Redmine 3.4.13 → GitLab 10.8.7 → GitLab 最新 へ移行テストしてみたいと思う。Redmine 3.4.13 → GitLab 13.1.x で移行テストしてみたいと思う。
Dockerfile のベストプラクティス - コンテナ毎に1つのプロセスだけ実行 ↩
2020-7-21現在 ↩
- 投稿日:2020-07-21T19:03:35+09:00
Dockerfileを書くメモ
Dockerfileは、docker imageを作る(build)元の書類です。
docker buildで作成します
docker image build [OPTIONS] PATH | URL | - $ docker image build -t New_Image .
- -t : tag imageの名前とタグ name:tag の形式
- . : パス Dockerfileのパス '.'は、カレントディレクトリの意味
Dockerfileの書式
FROM : docker imageのベースになるimage、Docker Hubのregistry
- Dockerfile では、FROMは一番最初に書く
- FROM <イメージ>
- FROM <イメージ>:<タグ> or FROM <イメージ>@
USER : 実行ユーザーの指定
WORKDIR : 作業用ディレクトリを移動する
RUN : イメージビルド時に、Dockerコンテナ内で実効するコマンド
COPY : Hostのファイルやディレクトリをcontainer内にコピーする
ADD : ADD <ソース>... <送信先>
- ADD ["<ソース>", ... "<送信先>"] この形式はパスに空白スペースを使う場合
CMD : コンテナ内で実行するプロセス
- CMD ["実行バイナリ・ファイル"," 引数1"," 引数2”]
- CMD ["ping","127.0.0.1","-c","100”]
- CMD shell コマンド CMD ping 127.0.0.1 -c 10
ENTRYPOINT : CMDの引数はENTORYPOINTで実行FILEへの引数に
- ENTRYPOINT ["ping”]
- CMD ["127.0.0.1", "-c", "50”]
LABEL : imageの作者名などに使える
- LABEL = = = ...
ENV : container内FR使える環境変数
ARG : ビルド時に利用出来る環境変数
EXPOSE : ポートのエクスポート ポートを開ける
VOLUME : ボリュームのエクスポート
MAINTAINER : 作成者の情報
DeepLearningの開発環境を作った例
Dockerfile
FROM jupyter/scipy-notebook USER root RUN apt-get update && apt-get install -y build-essential graphviz-dev graphviz pkg-config USER $NB_UID # Install Tensorflow RUN pip install --quiet \ 'tensorflow==2.1.0' \ graphviz \ pydotplus \ torch torchvision && \ fix-permissions $CONDA_DIR && \ fix-permissions /home/$NB_USER
- FROM : 元になるimageを指定してます
- USER : ユーザーをrootに切り換えています
- RUN : aptコマンドでupdateとinstallをしています
- USER : ユーザーを戻しています
- RUN : pip コマンドでモジュールをインストールしています、最後にパーミッションを合わせています
dockerはレイヤーの集合体なのでなのでDockerfileの命令をまとめて出す方が効率的
- imageレイヤー数が減ります
- docker imageのレイヤー構造の確認は、docker image history name:tag
- &&で命令を結合出来ます
- apt-get install --no-install-recommends オプションで推薦パッケージインストール
- apt-get install後は、rm -rf /var/lib/apt/lists/* キャッシュ削除する方が良い
- 投稿日:2020-07-21T17:42:00+09:00
DockerでRailsのセットアップ
① develop > docker > app名(test) を作成
② test内に、'dockerfile'、'docker-compose.yaml'を作成
③ 'dockerfile'編集
dockerfileFROM ruby:2.6.6-stretchDocker は Dockerfile から命令を読み込んで、自動的にイメージをビルドします。 Dockerfile はテキストファイルであり、イメージを作り上げるために実行するコマンドラインコマンドを、すべてこのファイルに含めることができます。 docker build を実行すると、順次コマンドライン命令を自動化した処理が行われて、ビルド結果となるイメージが得られます。
④ 'docker-compose.yaml'編集
docker-compose.yamlversion: '3' services: app: build: . volumes: - ".:/app" ports: - "3000:3000" tty: true⑤ ターミナル
docker-compose up # コンテナの起動・構築6 コンテナを作成して起動からログインしてbashで操作
docker exec -it SAMPLE_APP_1 /bin/bash
Dockerでよく使うコマンドまとめ
チートシート
- 投稿日:2020-07-21T16:02:08+09:00
Podman で Compose したかったらどうするの?
Podman の CLI はほぼ Docker 互換だから、コマンドに戸惑わず同じ使用感で使えるよって言うけど、 ネットワークの仕組みは違うみたいだし、公式サポートの compose も無い Podman でコンテナ同士の疎通と連携はどうすればいいの!?と迷える子羊化していた自分にこの記事を送ります。
はじめに
この記事では Podman-Compose の使い方については詳しく触れていません。サードパーティ製のツールである Podman-Compose に代わって、 Podman の標準機能である
podman generate kube
とpodman play kube
を使って起動、実行、停止までを完結してみようと試みた内容です。背景
CentOS8, RHEL8 で最も衝撃的だった変更の一つは何か?
と聞かれた時、 Docker のサポート廃止と Podman の採用を挙げる方は結構多いのではないでしょうか。
そしてこれを挙げる人たちはこうも思っているはずです。ああ、 Podman も使えるようにしとかなきゃ……
RHEL 系 OS は商用利用可能な Linux として多くの信頼を得ていますし、 4 年後には CentOS7 のサポート終了も迫る状況でもあります。「じゃあ Ubuntu で Docker 使えばいいや」とはいかない人、そう例えば自分のためにこの記事を書きます。
幸いなことに、 Podman のコマンド群はほぼ Docker 互換であるためコンテナを操作する分には簡単に移行できますが、一つ問題があります。
複数のコンテナを連携させるにはどうすれば?
Compose は滅びぬ!サードパーティで蘇るさ!
libpod (Podman のコンテナ/ポッド作成を直接的に担っているライブラリ) の github リポジトリの Out of scope の章にはこんな記述があります。
Out of scope
Supporting docker-compose. We believe that Kubernetes is the defacto standard for composing Pods and for orchestrating containers, making Kubernetes YAML a defacto standard file format. Hence, Podman allows the creation and execution of Pods from a Kubernetes YAML file (see podman-play-kube). Podman can also generate Kubernetes YAML based on a container or Pod (see podman-generate-kube), which allows for an easy transition from a local development environment to a production Kubernetes cluster. If Kubernetes does not fit your requirements, there are other third-party tools that support the docker-compose format such as kompose and podman-compose that might be appropriate for your environment. This situation may change with the addition of the REST API.
重要なところを要約すると……
- docker-compose はサポートしません。
- 我々は Kubernetes がコンテナオーケストレータのデファクトスタンダードであると考えています。
- よって、Podman にも コンテナ/ポッドに基づいた Kubernetes YAML ファイルの生成と、逆に Kubernetes YAML ファイルに基づいて コンテナ/ポッドを実行することを可能としました。
といったところでしょうか。 Kubernetes YAML によるコンテナオーケストレーションに前向きな考えを示しており、docker-compose が担っていたポジションもこれに統合したいようです。
サードパーティ製の podman-compose は存在しています。
先日 Keycloak コンテナを構築した際には docker-compose 用の資源を流用できるツールとして大いに有用でしたが、コンテナ作成時に一部のパラメータ指定に未対応であったりと、込み入ったことをする際に困る場合があるようで、成熟にはまだ時間がかかりそうです。https://access.redhat.com/discussions/5093741
流行りの Kubernetes YAML はお嫌いですか?
……というわけで RHEL 系 OS でコンテナをやろうと思ったらもうポッドという概念を避けては通れないようです。
ネットワークの代わりにポッドを作成し、 YAML ファイルを 1 から書くとまでいかなくてもファイルの内容の妥当性を吟味できる程度には Kubernetes YAML ファイルへの理解を深めましょう。大丈夫です。不安になるのはそう、ただ以下が分からないから、それだけです。
- ポッドの作成時にどんなパラメータを与えれば?コンテナをポッドに所属させるには?
- Kubernetes YAML の書式は docker-compose とどう違う?
podman-compose が実際に行っている作業は、 Podman CLI を利用したポッドの構築です。
つまり podman-compose は Podman コマンドを我々に代わって実行しているだけです。
podman-compose up
で実行されているコマンド群の中にpodman pod create
コマンドがあったはずですね。
docker-compose 互換を目指すこのツールが実行するものであればそれがヒントになるのでは?
今一度、podman-compose -f keycloak-postgres.yml up -d
でポッドを実行してみましょう。
そしてそれを基に Kubernetes YAML も生成してみましょう。知りたいことはきっとこの中にあるはずです。1. keycloak-postgres ポッドを構築して実行コマンドを見る。
ついさっき触れましたが、
podman-compose up
コマンドを実行した時流れるのは、実行されている Podman コマンド群とその結果です。ということは、
podman-compose up
コマンドの標準出力をファイルに収めて検索かけたら、podman create
コマンドにどんなパラメータを渡しているのか確かめられるはずですね。# podman-compose -f keycloak-postgres.yml up -d | tee pcup_stdout # grep "podman pod create" pcup_stdout podman pod create --name=docker-compose-examples --share net -p 8080:8080 -p 8443:8443ありました。あとは コマンドリファレンス 引いて 各オプションの意味を調べるだけです。簡単ですね。podman pod create についてはこのページです。
podman pod create
ポッドを新規作成するためのコマンド。実行時、ポッド ID が標準出力に出力されます。
ポッド作成後コンテナをポッドに追加するにはpodman create --pod <pod_id | pod_name>
を実行すると良いそう。
また、ポッドの作成時にはインフラコンテナが作成ポッド内に作成されます。インフラコンテナはポッドに関連付けられている名前空間の保持を行うことや、ポッドへコンテナを追加する際にその紐づけ役となる管理用コンテナです。作成後、常にスリープ状態にあり特に何もしません。
--name=docker-compose-examples
ポッドへ名前を割り当てるオプション。分かりやすい名前を付けておくと後々コマンドで指定するときとかも楽なので基本やっておくとよいと思います。--share net
共有する名前空間を指定するオプション。指定可能なのはipc, net, pid, user, uts
の 5 つ。カンマ区切りのリストで複数指定が可能。
この例だと ネットワーク名前空間 (netns) をポッド内で共有する、という意味になります。具体的にどういう状況なのか要点だけ言うと……
- このポッドに属するコンテナ群は個別に仮想 NIC を持たず、インフラコンテナの仮想 NIC を共有する。
- 何らかの IP ベースの通信の宛先に localhost を指定するとコンテナ同士が疎通が取れる。(コンテナ同士が独立した netns を持っていると localhost で他のコンテナには届かない。)
- ポッドは、ホストや他のコンテナ/ポッドとは独立したルーティングテーブルやファイアウォールなどのネットワーク情報を持つ。
ネットワーク名前空間についてこの場で多くは語りませんが、コンテナやポッドを作った後に
ip netns
,ip netns exec cni-hogehoge ip a
,ip netns exec cni-hogehoge firewall-cmd --list-all-zones
とかやってみると直感的に理解しやすいのではないかと思います。ちなみに
--share
オプションを使用しなかった場合、ipc, net, uts
の3つが共有されます。# podman pod create -n defaultpod # podman pod inspect defaultpod | grep share "sharesCgroup": true, "sharesIpc": true, "sharesNet": true, "sharesUts": true,
--share net
だと ipc, uts が共有されなくなります。コマンドラインで指定した値でデフォルト値を上書きする仕様なんですね。# podman pod inspect docker-compose-examples | grep share "sharesCgroup": true, "sharesNet": true,-p 8080:8080 -p 8443:8443
--published
です。ポートフォワーディングの指定です。この例だとホストの 8080,8443 に接続された時にポッド上の同番号ポートに転送してます。
実際にはホストからインフラコンテナへのポートフォワーディングを設定しています。
つまり、これは上記の--share net
が有効な時に意味のある設定です。
ホストからインフラコンテナへポートフォワーディングしても、インフラコンテナと他のコンテナが NIC を共有していなければ、ただずっとスリープ状態にあるコンテナに通信が飛ぶだけで終わってしまいます。試しに netns を共有してないポッドで -p オプションを使用し、コンテナを作ってポートフォワーディング設定を確認してみましょう。
# podman pod create --share pid -n net_unshared -p 5555:5555 # podman run -it -d --pod pidpublish --name nu1 centos:7 /bin/bash # podman run -it -d --pod pidpublish --name nu2 centos:7 /bin/bash # podman container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ba5b724324f3 docker.io/library/centos:7 /bin/bash About an hour ago Up About an hour ago nu2 66fc35c5fe0b docker.io/library/centos:7 /bin/bash About an hour ago Up About an hour ago nu1 32d407c9b16f k8s.gcr.io/pause:3.1 About an hour ago Up About an hour ago 0.0.0.0:5555->5555/tcp bf0bbaf4280e-infra一番下にあるインフラコンテナ (bf0bbaf4280e-infra) の PORTS 列には 0.0.0.0:5555->5555/tcp がある一方で、コンテナ nu1 と nu2 の PORTS 列には 同様の記述がありません。どうやら PORTS 列はコンテナ内の netns を参照してここへ表示しているようですね。
1 章のまとめ
- 後の利便性のためポッドに名前は付ける。
- ネットワーク名前空間をポッド内で共有 (
--share net
相当の設定。デフォルトのままでも可。) した上で-p host_port:pod_port
でポートフォワーディングを設定する。- ネットワーク名前空間を共有すると、 1 つの仮想 NIC に複数のコンテナがぶら下がっているような状態になる。
2. Kubernetes YAML にコンバートして docker-compose.yml と比較する。
docker-compose 用の yml ファイルからポッドを構築して、それを
podman generate kube
で kubernetes YAML ファイルへ変換します。つまり、これを
keycloak-postgres.ymlversion: '3' volumes: postgres_data: driver: local services: postgres: image: postgres volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: keycloak POSTGRES_USER: keycloak POSTGRES_PASSWORD: password keycloak: image: quay.io/keycloak/keycloak:latest environment: DB_VENDOR: POSTGRES DB_ADDR: postgres DB_DATABASE: keycloak DB_USER: keycloak DB_SCHEMA: public DB_PASSWORD: password KEYCLOAK_USER: admin KEYCLOAK_PASSWORD: Pa55w0rd # Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it. #JDBC_PARAMS: "ssl=true" ports: - 8080:8080 depends_on: - postgresこうして
# podman-compose -f keycloak-postgres.yml up -dこうじゃ!
# podman generate kube docker-compose-examples > kubernetes-converted.ymlできました。
kubernetes-converted.yml# Generation of Kubernetes YAML is still under development! # # Save the output of this file and use kubectl create -f to import # it into Kubernetes. # # Created with podman-1.6.4 apiVersion: v1 kind: Pod metadata: creationTimestamp: "2020-07-03T02:38:36Z" labels: app: docker-compose-examples name: docker-compose-examples spec: containers: - command: - -b - 0.0.0.0 env: - name: PATH value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - name: TERM value: xterm - name: HOSTNAME - name: container value: oci - name: JDBC_MARIADB_VERSION value: 2.5.4 - name: DB_DATABASE value: keycloak - name: DB_USER value: keycloak - name: JDBC_POSTGRES_VERSION value: 42.2.5 - name: JDBC_MSSQL_VERSION value: 7.4.1.jre11 - name: LAUNCH_JBOSS_IN_BACKGROUND value: "1" - name: PROXY_ADDRESS_FORWARDING value: "false" - name: JDBC_MYSQL_VERSION value: 8.0.19 - name: JBOSS_HOME value: /opt/jboss/keycloak - name: LANG value: en_US.UTF-8 - name: KEYCLOAK_VERSION value: 10.0.2 - name: DB_VENDOR value: POSTGRES - name: DB_ADDR value: postgres - name: DB_SCHEMA value: public - name: DB_PASSWORD value: password - name: KEYCLOAK_USER value: admin - name: KEYCLOAK_PASSWORD value: Pa55w0rd image: quay.io/keycloak/keycloak:latest name: docker-compose-exampleskeycloak1 ports: - containerPort: 8080 hostPort: 8080 protocol: TCP resources: {} securityContext: allowPrivilegeEscalation: true capabilities: {} privileged: false readOnlyRootFilesystem: false runAsUser: 1000 workingDir: / - command: - postgres env: - name: PATH value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/12/bin - name: TERM value: xterm - name: HOSTNAME - name: container value: podman - name: LANG value: en_US.utf8 - name: POSTGRES_DB value: keycloak - name: POSTGRES_PASSWORD value: password - name: GOSU_VERSION value: "1.12" - name: PG_MAJOR value: "12" - name: PG_VERSION value: 12.3-1.pgdg100+1 - name: PGDATA value: /var/lib/postgresql/data - name: POSTGRES_USER value: keycloak image: docker.io/library/postgres:latest name: docker-compose-examplespostgres1 resources: {} securityContext: allowPrivilegeEscalation: true capabilities: {} privileged: false readOnlyRootFilesystem: false workingDir: / name: root-podman-compose-keycloak-containers-docker-compose-examples-certs status: {}読める、読めるぞ!!
意外なくらい docker-compose 用の yml ファイルそのまんまです。
env
段落 で dockerfile 内で指定されていた環境変数のデフォルト値が表に出たので行数が嵩んでいて多少読みづらいですが、dockerfile にも keycloak-postgres.yml にもなかった設定値と言えば精々以下ぐらいではないでしょうか。apiVersion: v1 kind: Pod metadata: creationTimestamp: "2020-07-03T02:38:36Z" labels: app: docker-compose-examples name: docker-compose-examplessecurityContext: allowPrivilegeEscalation: true capabilities: {} privileged: false readOnlyRootFilesystem: false workingDir: /特に重要そうなセキュリティ関連についてちょっと掘り下げておきます。
allowPrivilegeEscalation
子プロセスが親プロセスより多くの特権を持つことを許可するか設定します。capabilities
capabilities とは root が持つ特権を細分化してフラグとして管理する仕組みです。
何かしら追加の許可/不許可を行った場合リストに追加されることになるでしょう。privileged
特権コンテナとして動作させるか否か。
ホスト上の root と同等の特権を与えることになるので注意が必要です。readOnlyRootFilesystem
読んで字のごとく、コンテナ内の rootFS を読み取り専用にするか設定します。大体どれも特に目的が無い限りデフォルト値で良さそうです。
さて話を戻しますが、これで生成した Kubernetes YAML を使ってポッドを作成すれば Podman の標準機能だけで複数コンテナの起動、実行、停止が完結できそうですね!
ところがどっこい……疎通取れません……!
この自動生成ファイルを
podman play kube kubernetes-keycloak-postgres.yml
コマンドで読み込ませると、 Podman が同様のポッドを作成してくれますが、意図した通りに動きません。ブラウザから 8080 ポートへアクセスした途端 Keycloak コンテナが落ちてしまいました。
# podman container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 02b361d4d79c k8s.gcr.io/pause:3.2 4 minutes ago Up 4 minutes ago 0.0.0.0:8080->8080/tcp 26779078cd6d-infra 73dc25cdfd2f docker.io/library/postgres:latest docker-entrypoint... 4 minutes ago Up 4 minutes ago 0.0.0.0:8080->8080/tcp docker-compose-examplepostgres1
podman logs
で Keycloak コンテナの実行ログを見てみると PSQLException と UnknownHostException が。
あとコンテナの名前を取得するときアンダーバーが混ざっていると無視されちゃうみたいですね。# podman logs docker-compose-exampleskeycloak1 Caused by: org.postgresql.util.PSQLException: The connection attempt failed. at org.postgresql.jdbc@42.2.5//org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292) at org.postgresql.jdbc@42.2.5//org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc@42.2.5//org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195) at org.postgresql.jdbc@42.2.5//org.postgresql.Driver.makeConnection(Driver.java:454) at org.postgresql.jdbc@42.2.5//org.postgresql.Driver.connect(Driver.java:256) at org.jboss.ironjacamar.jdbcadapters@1.4.20.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:321) ... 57 more Caused by: java.net.UnknownHostException: postgres at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) at java.base/java.net.Socket.connect(Socket.java:609) at org.postgresql.jdbc@42.2.5//org.postgresql.core.PGStream.<init>(PGStream.java:70) at org.postgresql.jdbc@42.2.5//org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91) at org.postgresql.jdbc@42.2.5//org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ... 62 moreこれらの例外について調べてみると、どうも Keycloak コンテナが PostgreSQL コンテナとの疎通が取れなかった時に起こり得る現象のようです。
java.net.UnknownHostException: postgres
ですから、字面から察するに postgres を名前解決できずに起きているのではないでしょうか。そういえば Docker-Compose によって立ち上げられたコンテナ群は、お互いにコンテナ名で疎通が取れたはずです。例外が起きた原因がコンテナ名で名前解決して疎通が取れなかったことだとすると、同様の例外が起きなかった Podman-Compose ではコンテナ名で疎通が取れていたことになります。 Podman-Compose では行われていた、コンテナ名疎通に相当する何かが Kubernetes YAML ファイルから漏れたのでは?そう、例えば……ポッドでは基本的にコンテナ同士が仮想 NIC を共有しているので、コンテナ名を 127.0.0.1 として解決する設定を
podman-compose up
`コマンドによってまとめて行われているコンテナ作成時に施している、とか……podman run --name=service_keycloak_1 -d --pod=service (中略) --add-host postgres:127.0.0.1 --add-host service_postgres_1:127.0.0.1 --add-host keycloak:127.0.0.1 --add-host service_keycloak_1:127.0.0.1 quay.io/keycloak/keycloak:latestありました!これです。
--add-host
です。
Podman-Compose ではコンテナの作成時に--add-host
オプションでコンテナ内の/etc/hosts
にコンテナ名を127.0.0.1
として解決する設定を書き加えています。加えて言うと、この追記は/etc/hosts
の内容はホスト上の同ファイルをコンテナ内にコピーしてから行っているので、ホストの/etc/hosts
に以下のような内容を書き込んだ上でポッドを実行すれば例外は起きなくなるはずです。/etc/hosts127.0.0.1 postgres 127.0.0.1 docker-compose-examples_postgres_1 127.0.0.1 keycloak 127.0.0.1 docker-compose-examples_keycloak_1 127.0.0.1 postgres 127.0.0.1 docker-compose-examples_postgres_1 127.0.0.1 keycloak 127.0.0.1 docker-compose-examples_keycloak_1今度はブラウザからコンテナへアクセスしても Keycloak コンテナが落ちなくなりました。
# podman container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 57c8f4dbb592 quay.io/keycloak/keycloak:latest -b 0.0.0.0 41 seconds ago Up 40 seconds ago 0.0.0.0:8080->8080/tcp service_keycloak_1 725bdb94bd26 k8s.gcr.io/pause:3.2 45 seconds ago Up 43 seconds ago 0.0.0.0:8080->8080/tcp e12953ca8ff5-infra d11f2948ef3a docker.io/library/postgres:latest postgres 44 seconds ago Up 42 seconds ago 0.0.0.0:8080->8080/tcp service_postgres_12 章のまとめ
Podman generate kube
によって出力される Kubernetes YAML は、dockerfile と docker-compose.yml 両方に記述した設定が書き出される。- 単一のポッドについて出力させる程度だとあまり
docker-compose.yml
と大差なし。ただし若干読みづらい。- コンテナ名で疎通が取れる前提で構築されたイメージを利用してポッドを構築する場合、同ポッド内のコンテナ名を 127.0.0.1 として解決するようコンテナ内の
/etc/hosts
に追記が必要な場合がある。おわりに
Podman の Kubernetes YAML ファイルの解釈について更に言うと、dockerfile で言うところの ENTRYPOINT に相当するはずの command パラメータを CMD として解釈しているような挙動がある(ver.2.0.2で確認) とかまだあるのですが、これについてはまた別の記事で。Podman の Kubernetes YAML のインポート / エクスポートもまたどうやら発展途上の段階にあり、複数コンテナの連携についてはしばらくの間不便な状態が続きそうです。
参考
Balázs Németh 氏によって、 docker-compose サービスを pod に変換する意義と、シェルスクリプトと Podman CLI を使って変換する方法について解説されている記事が podman.io で紹介されていました。こちらも参考になると思います。
Convert docker-compose services to pods with Podman
https://balagetech.com/convert-docker-compose-services-to-pods/
- 投稿日:2020-07-21T15:18:01+09:00
Dockerで[stream error: stream ID 633; INTERNAL_ERROR]が発生したときは、docker内の空き容量がないかも
いつもと同じ要領でビルドしたら以下エラーが発生した
$ ~/dev/src/github.com/Oppai/hogehoge-apiserver/docker$ ./build.sh [sudo] password for oppai: go: downloading github.com/sirupsen/logrus v1.5.0 go: downloading github.com/jinzhu/gorm v1.9.13 go: downloading google.golang.org/api v0.25.0 go: downloading golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d go: downloading github.com/shopspring/decimal v1.2.0 go: downloading github.com/google/uuid v1.1.1 go: downloading github.com/labstack/gommon v0.3.0 go: downloading github.com/labstack/echo/v4 v4.1.16 go: downloading golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e go: extracting github.com/shopspring/decimal v1.2.0 go: extracting github.com/labstack/gommon v0.3.0 go: downloading github.com/mattn/go-colorable v0.1.6 go: extracting github.com/google/uuid v1.1.1 go: extracting golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d go: downloading github.com/mattn/go-isatty v0.0.12 go: downloading github.com/valyala/fasttemplate v1.1.0 go: extracting github.com/mattn/go-colorable v0.1.6 go: downloading github.com/google/go-cmp v0.4.1 go: extracting github.com/google/go-cmp v0.4.1 go: downloading cloud.google.com/go v0.56.0 go: extracting github.com/valyala/fasttemplate v1.1.0 go: downloading github.com/valyala/bytebufferpool v1.0.0 go: extracting github.com/mattn/go-isatty v0.0.12 go: downloading golang.org/x/sys v0.0.0-20200331124033-c3d80250170d go: extracting github.com/valyala/bytebufferpool v1.0.0 go: downloading github.com/gorilla/websocket v1.4.0 go: extracting github.com/gorilla/websocket v1.4.0 go: extracting golang.org/x/sys v0.0.0-20200331124033-c3d80250170d go: extracting cloud.google.com/go v0.56.0 go: extracting golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e go: extracting github.com/labstack/echo/v4 v4.1.16 go: downloading golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d go: downloading github.com/dgrijalva/jwt-go v3.2.0+incompatible go: downloading golang.org/x/text v0.3.2 go: extracting github.com/jinzhu/gorm v1.9.13 go: downloading github.com/mattn/go-sqlite3 v2.0.1+incompatible go: downloading github.com/go-sql-driver/mysql v1.5.0 go: extracting github.com/sirupsen/logrus v1.5.0 go: downloading github.com/jinzhu/inflection v1.0.0 go: extracting github.com/dgrijalva/jwt-go v3.2.0+incompatible go: extracting github.com/jinzhu/inflection v1.0.0 go: extracting github.com/go-sql-driver/mysql v1.5.0 go: extracting github.com/mattn/go-sqlite3 v2.0.1+incompatible go: extracting golang.org/x/text v0.3.2 go: extracting google.golang.org/api v0.25.0 go: downloading google.golang.org/grpc v1.28.0 go: downloading go.opencensus.io v0.22.3 go: downloading github.com/googleapis/gax-go/v2 v2.0.5 go: extracting github.com/googleapis/gax-go/v2 v2.0.5 go: extracting go.opencensus.io v0.22.3 go: downloading github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e go: extracting github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e go: extracting google.golang.org/grpc v1.28.0 go: downloading google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 go: downloading github.com/golang/protobuf v1.3.5 go: extracting github.com/golang/protobuf v1.3.5 go: extracting google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 go: finding github.com/jinzhu/gorm v1.9.13 go: finding github.com/labstack/echo/v4 v4.1.16 go: finding github.com/shopspring/decimal v1.2.0 go: finding github.com/sirupsen/logrus v1.5.0 go: finding github.com/labstack/gommon v0.3.0 go: finding github.com/jinzhu/inflection v1.0.0 go: finding golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e go: finding golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d go: finding github.com/google/go-cmp v0.4.1 go: finding github.com/go-sql-driver/mysql v1.5.0 go: finding github.com/google/uuid v1.1.1 go: finding github.com/mattn/go-sqlite3 v2.0.1+incompatible go: finding golang.org/x/sys v0.0.0-20200331124033-c3d80250170d go: finding google.golang.org/api v0.25.0 go: finding github.com/gorilla/websocket v1.4.0 go: finding cloud.google.com/go v0.56.0 go: finding github.com/dgrijalva/jwt-go v3.2.0+incompatible go: finding github.com/mattn/go-colorable v0.1.6 go: finding github.com/mattn/go-isatty v0.0.12 go: finding github.com/valyala/fasttemplate v1.1.0 go: finding go.opencensus.io v0.22.3 go: finding google.golang.org/grpc v1.28.0 go: finding golang.org/x/text v0.3.2 go: finding github.com/googleapis/gax-go/v2 v2.0.5 go: finding github.com/valyala/bytebufferpool v1.0.0 go: finding github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e go: finding google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 go: finding github.com/golang/protobuf v1.3.5 build github.com/CreatorsLab/jutaku-vsync-vpoke-internal-poke-apiserver/cmd: cannot load golang.org/x/crypto/acme: golang.org/x/crypto@v0.0.0-20200221231518-2aa609cf4a9d: stream error: stream ID 633; INTERNAL_ERROR
df -h
でubuntuのHDDの空き容量を確認してたが問題なさそう。$ df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 784M 1.8M 782M 1% /run /dev/sda2 228G 44G 174G 20% / tmpfs 3.9G 28M 3.8G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/loop0 55M 55M 0 100% /snap/core18/1754 /dev/loop2 55M 55M 0 100% /snap/gtk-common-themes/1502 /dev/loop1 161M 161M 0 100% /snap/gnome-3-28-1804/116 /dev/loop3 63M 63M 0 100% /snap/gtk-common-themes/1506 /dev/loop4 384K 384K 0 100% /snap/gnome-characters/539 /dev/loop5 1.0M 1.0M 0 100% /snap/gnome-logs/93 /dev/loop6 97M 97M 0 100% /snap/core/9436 /dev/loop7 2.3M 2.3M 0 100% /snap/gnome-system-monitor/148 /dev/loop8 256M 256M 0 100% /snap/gnome-3-34-1804/36 /dev/loop9 97M 97M 0 100% /snap/core/9665 /dev/loop10 256M 256M 0 100% /snap/gnome-3-34-1804/33 /dev/loop11 2.5M 2.5M 0 100% /snap/gnome-calculator/730 /dev/loop12 162M 162M 0 100% /snap/gnome-3-28-1804/128 /dev/loop13 2.5M 2.5M 0 100% /snap/gnome-calculator/748 /dev/loop15 2.3M 2.3M 0 100% /snap/gnome-system-monitor/145 /dev/loop14 55M 55M 0 100% /snap/core18/1880 /dev/loop16 1.0M 1.0M 0 100% /snap/gnome-logs/100 /dev/loop17 384K 384K 0 100% /snap/gnome-characters/550 /dev/sda1 511M 6.1M 505M 2% /boot/efi tmpfs 784M 28K 784M 1% /run/user/1000まさかと思い、dockerの空き容量を確認してみたら
コンテナContainers
が多くて容量がほぼ無い為、ビルド出来なくなってるのが判明。$ sudo docker system df [sudo] password for vpoke: TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 75 6 20.59GB 17.88GB (86%) Containers 12 1 348.9MB 348.9MB (99%) Local Volumes 5 5 0B 0B Build Cache 0 0 0B 0B
-v
つけて細かく見てみたら、めっちゃコンテナおる。$ sudo docker system df -v Images space usage: REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS docker_api-server latest 480f3898040b 3 days ago 1.046GB 803.3MB 242.4MB 1 <none> <none> 764d5045a792 3 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> dec4f9ed3ae4 3 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 8895f6b751ab 3 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 1bf638354f26 3 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> d6bcacbaecd3 3 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 95aee55d98d2 3 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> f4deb81717a3 4 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 624898ffa07c 4 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> bc867dda9a7f 4 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 4521363aa47f 5 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 0d45027cf710 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 22fbbd1996af 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 0f1983ce5999 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 1ad70c4b2adf 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 4505095756d9 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 2105c846be3c 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 605f13c295eb 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 8ffd54428810 6 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 5c43aa878aa6 7 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 753c65b60085 7 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 13751b8edfa7 7 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 72c321273e2f 7 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> bd4b8d7708c5 8 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 7bb566f75415 8 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 86ebdf56e9bb 8 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> d7b8cee95af5 11 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 643baa48b3b7 11 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 9d714b714ecc 13 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> b75a1a4a9093 13 days ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 6a18aad685d8 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 24619edf8a77 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> daa617619349 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> c16056b65021 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> a4638df52602 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> d2292270c243 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 88c923c06df2 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 0c3aca05d036 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 7a68934e40ba 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> d4431663e0d6 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 694a1eba4a52 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 20f1dd27b48e 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 4dd51ef8c181 2 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> a77b5746881d 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 9fdae61258b1 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 8eccb7559d17 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> d86f405ffe76 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 33f1537ae146 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> c09ba38fb8e2 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> c0802c6080a1 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 315205f74ccd 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 956213ac484d 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 227595cfa77a 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 91337996f718 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 763f3e167162 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 5a5b3f650024 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 7dbec08ac360 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 22f938ea23d3 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 89ead8b8a2dd 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 04660741b6ca 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> d728079150bd 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> a5c0c1231c07 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> b21f66196f0f 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> e6fef2a3c2db 3 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> c937e388e90e 4 weeks ago 1.046GB 803.3MB 242.4MB 0 <none> <none> 76d0f21c9afc 4 weeks ago 1.66GB 809.4MB 850.8MB 0 <none> <none> 907ad27b6cfb 4 weeks ago 1.29GB 809.4MB 480.9MB 1 <none> <none> a4998c72e8b1 4 weeks ago 1.29GB 809.4MB 480.9MB 2 <none> <none> 5c1687687da1 4 weeks ago 1.29GB 809.4MB 480.7MB 1 <none> <none> a4b2d18cc3be 4 weeks ago 1.29GB 809.4MB 480.7MB 1 jutaku-vsync-vpoke-internal-poke-apiserver_api-server latest 673a3b63b1c4 2 months ago 820.4MB 803.3MB 17.1MB 0 golang 1.13-alpine 0e5426771795 2 months ago 359.6MB 0B 359.6MB 0 golang 1.13 7ec6e7161786 2 months ago 803.3MB 803.3MB 0B 0 golang latest 2421885b04da 2 months ago 809.4MB 809.4MB 0B 0 docker_mysql latest 0c27e8e5fcfa 2 months ago 546.3MB 0B 546.3MB 6 Containers space usage: CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES b3434b5eb935 docker_api-server "/bin/sh -c /go/bin/…" 0 0B 7 minutes ago Exited (1) 6 minutes ago docker_api-server_1 efa600e4e36b docker_mysql "docker-entrypoint.s…" 0 7B 7 minutes ago Up 7 minutes docker_mysql_1 88695642d5e4 mysql:8 "docker-entrypoint.s…" 1 0B 7 days ago Exited (1) 7 days ago affectionate_kirch caa109bbf57e mysql:8 "docker-entrypoint.s…" 1 0B 7 days ago Exited (1) 7 days ago admiring_hellman 397d97816a72 mysql:8 "docker-entrypoint.s…" 1 0B 7 days ago Exited (1) 7 days ago mystifying_shockley a8ade6183682 mysql:8 "docker-entrypoint.s…" 1 0B 7 days ago Exited (1) 7 days ago modest_kalam 3c12153021d7 mysql:8 "docker-entrypoint.s…" 1 0B 7 days ago Exited (1) 7 days ago zen_solomon a5f863eed5fd 907ad27b6cfb "/bin/sh -c '${dir}/…" 0 331kB 4 weeks ago Exited (128) 4 weeks ago pedantic_khorana 069b8177a669 a4998c72e8b1 "bash" 0 171kB 4 weeks ago Exited (0) 4 weeks ago magical_moser 55c19c535d66 a4998c72e8b1 "/bin/sh -c '${dir}/…" 0 331kB 4 weeks ago Exited (128) 4 weeks ago optimistic_heyrovsky dd0eb4d54adc 5c1687687da1 "/bin/sh -c '${dir}/…" 0 317kB 4 weeks ago Exited (128) 4 weeks ago eager_meitner 0eefd59776bf a4b2d18cc3be "/bin/sh -c '${dir}/…" 0 348MB 4 weeks ago Exited (2) 4 weeks ago charming_pike Local Volumes space usage: VOLUME NAME LINKS SIZE 0c8629b643307422abcc168c96cbc237179b22868ead7a9f520bb00d031faa52 1 0B 2f6802430e66767d9381dbaf28e33eaa81df267ff7a4c08897f9bb95b629a113 1 0B 52c0185976432f6b43791490c36d2def28c5192a4c7cd9b8091ac9f26fd7a202 1 0B bbc18e899a80225a6c3ad59ad6a1d0900543dc2dd7ce4f3e7f80112985808ddc 1 0B d4b4ff22539a6e827b489bf45611ee9f30bca93017d49a1d48434384f3f24329 1 0B Build cache usage: 0B CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED以下コマンドでいらないイメージとコンテナを削除出来るらしい
# dangling image 削除 for i in `sudo docker images -f "dangling=true" -q`; do sudo docker image rm $i done # container 削除 for i in `sudo docker ps -aq`; do sudo docker container rm $i done削除してみた。
$ for i in `sudo docker images -f "dangling=true" -q`; do > sudo docker image rm $i > done Deleted: sha256:764d5045a792f711dc77c5172044e5364bc09d89eae00ec021f2e3835266d7d8 Deleted: sha256:cb56e8463a7bf44a1bd47867de6c141276a7cc83e1034e8e86a3261304c46a89 Deleted: sha256:bab91006a665c6521699129c2503915144ee257780d3cf6ca05381c91a2801c9 Deleted: sha256:0531d10575a8e3c3d8af8455f5add32bff3c327f96e486a0acf6afe97288f8ca Deleted: sha256:af9c3a03fc8c0ff6f9e72a95ca532415accbc00eef7de936f700bba97ff83406 Deleted: sha256:467e3c73dd0a9e0f5a9ed44a15bee41ec97efa6dd9872e62b9ef7b30aff5a26c Deleted: sha256:faa68eb3c39d4d9f96199f36a19a716b427920c8ed7e331d1b57be4a29191bcb Deleted: sha256:db447d76bcb951bec69096c6fe59968d8a11d95ccabac66d25707bc24fc6e0e6 Deleted: sha256:1425c735da6238646330f2d956d032b6fe33157f460a875a1ea5fd3f91587c8b Deleted: sha256:fa9c9cb2251da118233ba9f6da5a71306e5ef69519211a964737b5ec6e4b2e3b Deleted: sha256:6e765d7cfd36c84fa4001f1ba1f789cc32934dcfa4f2aac90f6e154ac061489b Deleted: sha256:a027741ff6f104485bdd7efc0e07240092eaaffdbcdc3accce89a65b9d6f8767 Deleted: sha256:dec4f9ed3ae434e3f86979d43c253ead44f281c15641359387f230066266cd7d Deleted: sha256:df5243ce32b76db73a2e0be8d259eacc3dddc236916362150eaede37514f7d88 Deleted: sha256:9c13e7fed52487db2d16468071676f184d6b91c2dfd55e0c685d2a70d59d2300 Deleted: sha256:2910d97df43fa65d1edf76454ee90ce2c5f47a29a202d7e341385373f238de33 Deleted: sha256:d714c441002558037c713f69ec30758a937ca1636432ddee94c2346acc50d631 Deleted: sha256:b1c8b3b9190be7f6a948b655950eaa2e3e7dcd4f4aa0f95df8239894682303a5 Deleted: sha256:ae190710d11499f7df8228f310642f529ff9999353658367664f52bc2a8bc295 Deleted: sha256:ed7c5921e22c5494f341bfaf2e66fb42d07cb3f21148c581e2c09f6df4383c15 Deleted: sha256:772076a752cf861363f18a4425c081e0a7a8cb315c38684bab30513fdaa388ad Deleted: sha256:8b5420718446dc9ac79d5dadad54920c23a882a3ed25037930bef625e11200c6 Deleted: sha256:ccf5ee82f5f9a2a5ac33e1f4f1493c418e4e307c992b93b1386f3b74e6224afe Deleted: sha256:6b68edcf9a4f50b9993026170fa1408c46ca244e98341a03d5cfbaa57981885b Deleted: sha256:8895f6b751ab16552d38d49f60a1db2752374ffd2afaf4279d3677d860e88308 Deleted: sha256:c8d338863bfd869897830ba7463a3c31ea4c8ad05badf538299444ddbb3f6f91 Deleted: sha256:059576c3b56d58baf7fffedd8ad2e5eff8872b73d7ae24a5c17e1e6c51f37bd9 Deleted: sha256:4b921b073115b0eccb321c414b5ffe87e81b5d3c35543f78f59d6cae1220cfc1 Deleted: sha256:c476d1d22c5302981517ac1a0797257fee90ccf82bfa24aebf424ed0199e51f5 Deleted: sha256:26a1f7022fc000a9f32a1afe0f7c1928835816eecd129a8ef2f53983562d02bc Deleted: sha256:1b45ca3635a217c9080c10c92fd6e2fa2ad9064191fd5ec47290ebddd7f1c267 Deleted: sha256:81f03137b64e37debcd55eca4a209b52be6bae9056515282b6c950bcc857051a Deleted: sha256:9e5b3914081d140a552db10dd3c48f46f6ed528aa18b36de0a116d8e2b507818 Deleted: sha256:b3a63d0e4dc1914e8df4f39295e4236ecd6aaf7471695deb4e35149dd8c1e0fa Deleted: sha256:e7946e079f525ea24a804bf8ce79d0d10b0a355b4f2ef34a2a5e6db649f1dcbc Deleted: sha256:33a0054154c9c15f6315605de48a3c32a770be434582dd1ac619254a06fb17d2 Deleted: sha256:1bf638354f26a13e2cea77f2c7fbe1961a27d481018c281a998d8ec55b030fc0 Deleted: sha256:77e55bf6d2d54df82e578f3bada0c86504922832bb46bd6fb7aebe2abb6ad4e4 Deleted: sha256:8f504b59d297d4d5746807854d1816ad14f420c0673b28364364fc5562d71292 Deleted: sha256:69cb46f6556a7d647c4062963918448563f32a63a9424decd0a52291353cf571 Deleted: sha256:8cce2eb504e8b35a0a6c34399a52a5c3bb242a2a4278eee5338b887051c617ed Deleted: sha256:0f890de8f434239b9ac07a17e9929646e740469c6d34abab3347c8fcc0b65604 Deleted: sha256:ef7aba67550f31e05d7f186ae2ef2040e76efc37a490f25dde7081a9d4749104 Deleted: sha256:29b46a7511e7e7af65e7cef39fac7854f49574244171427049e37897778d4037 Deleted: sha256:de1fcd680a4fdf78f686f9ce6927b859612466fe3b24718cfa988a7fa683bb76 Deleted: sha256:3f4c62f9bee8fc21ed0c411bda3f539c1fd36cc8f74dabc26a06292db0899f85 Deleted: sha256:f2aac11572bba73e5af9c8e6955e7567fd1ca89a0a1bf7b5c49064bb7909a4f4 Deleted: sha256:1befdb16762df743c58903a676364753f83d5e5555c47abeff70f5b9cc4f876e Deleted: sha256:d6bcacbaecd34f313914e60fb7f3dc52fdcaf9d218247a6d0974bb10d852892e Deleted: sha256:9746b743ebf68b2e687072455e42570c3dfc17f7200135a0cc594d7794a84d75 Deleted: sha256:362fd0661ac941ffb34e3d949562d752897ec34fb4a8292c2577c9127c4bbd48 Deleted: sha256:61c4d24d6018b1e7ebb9b141543bc79a1f5bb8bf34a57b58eef890396cc64ed7 Deleted: sha256:805460895cc9b19dcf1257a95426327abaff0a077a3679f7e7ddd0da1b0d7d17 Deleted: sha256:0a2925dee105d1a4915cc9477f7c33b7a2122c37f7040d2a5a2e713f94d79ad7 Deleted: sha256:caf8aff3f8fce9b5cb07cdadceb6b47206ec57f43b7e0d78a6587d29d2e75005 Deleted: sha256:9d64d7c993a1066fca7c8a62982511bae60b43b81a84224a5ea483a626852111 Deleted: sha256:1f475144dcf7801b3e84b98fd70fb9a4d2b5b3f219c5af1935c99f13ddb4f393 Deleted: sha256:1f21b433ee78d1a6797c7e88bf6b1e13e60ae7e94b6d3bca7aaafcc36be9567a Deleted: sha256:a34a8c57c4b3b78bce1c274018ce395c31212a1963f8136739bfb1890d609c05 Deleted: sha256:dcdf05877a3890a344bdecf084dbfeb1f518408cd54aef131853f5788e56a61f Deleted: sha256:95aee55d98d2877ba2ff74f0d48e0af37eec189238840c394a95b22afd0bdef4 Deleted: sha256:8359bee2dc5bbc845fdccdff37f6b5f9effc32fa934091421b42679a3f8fb55f Deleted: sha256:527ad412726e10672735e16561fcb9c7b5bb2a1c8d90fadb02257bcba1eb1bdc Deleted: sha256:10e5308634913da0dde5cab4f8cef14139a8f920a521e22e2a265be9bcf9bbb9 Deleted: sha256:0f08d3bfb956bcc631065ea93a2e0a1fd95a0ff2073cff43ea37d4d6b0e40748 Deleted: sha256:ea93b1e6f820ee33483825eef4593641930aaf62005b3f4e03255c3b8f7d8adf Deleted: sha256:9cca7d0aeb2f23f7a2323085e840a47e5b3536b4c818960b739e78caf70fa1f2 Deleted: sha256:d43053530b30bab2133bdaa510b3b020b78a93ccfdb681d4be936d51ba17615a Deleted: sha256:3cc5baf3f586ac05ec4fd536fb7c3585d6458dfd1e7bccfa9134460666cde280 Deleted: sha256:6865f063796bd6a7191a6399b7b3854fbc69236d0b2be0e819ee1523a47fcf3a Deleted: sha256:efd81c942f8985e41c12f07f5ee37237c62f2e373b586000084b8f47b61a0666 Deleted: sha256:dcfaa26ea0b940a3a8ab94cffa740acc8b436bdc7a21529bc7e82402491455bb Deleted: sha256:f4deb81717a3b937d6baee2ab62f21d68db2ebc0b83d0ec7b102bda81e5e9ba6 Deleted: sha256:0f4091b6138c2eef133b1f80e546e1fba10ff6d1de24a8f8f72103fe9357a458 Deleted: sha256:5c345a43003caa6cf08c88a81280352cfb275a4ca25d71abfef987d2173eb3d4 Deleted: sha256:fee420f3a0109fdb7e5aa30ba266010e302d20b136a2fbafd4f9a86eee88bc90 Deleted: sha256:b07949983daf8a272b082861ffa83455dedf316d4f4009877ff75ba365a32348 Deleted: sha256:113060a7c77761b4b08aaaecf5be810228c0e523268a13d34b6bdcd06388a1d9 Deleted: sha256:6d4f5d03e943955c188177de32835ebf47cf5002121b5dcae438ab78804d4603 Deleted: sha256:ae3c2e5e12e78772bb8c4c04044bff6bdf3b540773f734b3c76aff3d46ea7931 Deleted: sha256:b1e1b125cf8f8c9cf66db72eaf8a2f97c0d8992635bb5b1b82fc5e970924675b Deleted: sha256:064641956490f37e50c65b45c6ad42d2a0fe4fd748e680ecf53247af168cb6f5 Deleted: sha256:292a765975a62a5989ac4ca3be26156846f089d8c3f41a7cd19f0c6508eb0231 Deleted: sha256:18e7b5c3b17e035ed76c9cc9d282905fcf34dfbbfdab02608d6454c072bc4450 Deleted: sha256:624898ffa07c1b8a6cdc72f09bd200a1d45212ca1cf9ca2b0eae60fea52592a6 Deleted: sha256:bd58bc5d055bc21b23d1b0f53ad5b2287afd381b8773330d05ec57553179b47f Deleted: sha256:15362b4598edf255315e615a2ba63bfae0d26c00df646d1997770b7d9f84eade Deleted: sha256:5d8531b72a04a81a97020c5dbf4461dec4417d50ab70b1d65cb4d8f798dfe942 Deleted: sha256:be40162fc910377766358d8e3e031181603d2c2ebb38da27d1b021a58d2ab41a Deleted: sha256:1a38065093c3f8c97b5340c496ba2c86869fb09910e565878b005471fada0412 Deleted: sha256:05e2ec6b2f0c877e6ef1f749f389d9254b865dc3f5582ebbd42c871229c7d4f4 Deleted: sha256:93ef39f5219b68fb2d5ee4282447f31232c58d9da397937735498c797e4ecc4c Deleted: sha256:bfb47b65325640cef0325fa507df1f100b418b021e658291c7a22cc83651744c Deleted: sha256:27b46b4e85a87d0effd6ddf81681125814dbbe89dee21a06574667f223b98f9a Deleted: sha256:9bce84ef17582811aadb69e148f371eee92f6e33fef8bb9ccf887898ae308f98 Deleted: sha256:7483fbb3d8a4aca1fe5cb140233b6c96317fd11e1e9f1d7e16d4f03eff8898b6 Deleted: sha256:bc867dda9a7f4b3cdf06daf51afed2d952b71860a5831777c1b17412e95266f6 Deleted: sha256:36db00a477e3838cc93710f5655527afe037fd78b94b18f805bd38686787bb08 Deleted: sha256:0e1ded4afd5c8dede37c8f822aae5fd84943bf80ca7c1457af35def64d909af4 Deleted: sha256:b7dd6900b8c8ba6d91e3fe4e8073bd041201747cb5dbc6af85fe38e06c9447cc Deleted: sha256:3bd6952add319fd1751a8ed21cf1d01860acd78f17c049e8b408b1edad790c50 Deleted: sha256:6caaee5115ffc939ef04367f1b198bc9365e04919ce6b87fb91bce9e54794cf2 Deleted: sha256:962a86a3e5b747b2b15641800e399513a858f583a11fead17b4b34bd3b8520e0 Deleted: sha256:4d5f1a1bece8d481204b514469f30ee9ff04ef78ddfeb6646fe5d7c567edbc16 Deleted: sha256:236459acbd76d1b1329e90ba76b7dada597cc5585b451d720dcccd04b685fadb Deleted: sha256:9833f99bbc5bc07f67786e638d9d8301395acea67f3b9c242ce861846d69e34f Deleted: sha256:d6f44de5ee28b8db60f2dc88f7db03d7973f7a20b77ca94e5c489bafa22d1eeb Deleted: sha256:2bd782a98b6844381297fe7ab77a6b626e278d7a1825e89fd205bfe88db5995b Deleted: sha256:4521363aa47fb18481b9254daa939968382f1a0ba54b4d90bd6f13604ad21484 Deleted: sha256:cf7573b01b0d2e34539a0683aaa2030ddfe55954830a4615e925be8f11415b0f Deleted: sha256:a257180f57c00b88c40778af34d1b0268b6193140da8c52899f52a1e7bb800c1 Deleted: sha256:3340d2929332aeb82c5bccde165d49363ddeab039ff37db0e29d83d613b857b7 Deleted: sha256:56bf833a92c256c68f542210f1bc5c2ae305cec4cc33a0725801585e5707cf7e Deleted: sha256:7a916c5d285eef811c13bc411c77427e6314ade05b80e6c58de6c58d3634bcc1 Deleted: sha256:4a270b0ed6d645b7469e645a7aa43a2f0545085966f711b736211b4e5bd2725c Deleted: sha256:78aa05432601a3b38308e434620a49007211308eff86bd62cc241de8c65f0af7 Deleted: sha256:64a4edfaf6acd3857d1d9a503006242c53c4dceb6d1d3be697531a94f358b850 Deleted: sha256:57ecedf8a5737dd6a75767fab108f23877de7026653afd4a242bb7817a5252e1 Deleted: sha256:756b521242b52192da3694ff171314f6888736fccdf383096cc19d05647a9dbf Deleted: sha256:f44ed68e51430f673a7cba32c73a9544dbd9c19e8b02ba2b594593fb20d2b7f8 Deleted: sha256:0d45027cf710bbaf73c5ba621bd02135db71c9e563c6e940b1e4d1fd0c50940f Deleted: sha256:7a0207b8546a754d2fd71d91dc9fa5ea9c519e1e805c8cbd6ee26400d2b57239 Deleted: sha256:5c4e782f8f5e9a3f6c618dd35fde0c0e9d1a9bed4a02cb2066cde022b6cfa689 Deleted: sha256:c22f477056ec0954934a87a1a86df7c1e5c4ae64309dafd32ddc40dc1ed7ea8b Deleted: sha256:b88136648f7394339d0bedaf849b0c52bdbaddbb6f25e920d5a08b99efecc495 Deleted: sha256:fbd8e0ddef79662c53f5fbd8f8f5ab607fee6716c057427855a371d34c6375f4 Deleted: sha256:2410bf0f9568d1144bc8526c80d1a11a2f3cc557192000405f98005d0f65a09a Deleted: sha256:7b804db76eec58c52da3c74096b6cb68e2f48de63fcebd76f202c7afdb7cf1b9 Deleted: sha256:327f4119ee47d9b4ec928cdb64ce9ab0cd809db8c36a43ad8aec1bd8be798919 Deleted: sha256:e1109412da94cd487df3c763adab35dd57c089cabce4a5f8cfc5624542572031 Deleted: sha256:f55092f3be6a9582d2f5286d0124d1d8c7e5f01967b40c8a50bdb84b1f31e9ff Deleted: sha256:2b4a1ef27dd62f92b113cdc3f52ce6d7b79d682b69ff5ba839e7116f55d40d10 Deleted: sha256:22fbbd1996af2f9028f760b9616fcfb996c51923b8dc5dfa580339c0acdb291b Deleted: sha256:b2e5b093e8bba05be1a3602fdb05fda93e36ed2f151f3bc91c9b87b022cfa0fa Deleted: sha256:6ca711a4c7c188bfa7d0a81d1af9fbaaa33d1d312622d3be81d9b650aa16a330 Deleted: sha256:7a12484cf6928c76b75d2f2fc3ef0c532c6355d0f8019b2269c5bd7af63274df Deleted: sha256:5ddc999ef554691f17f8f1ea1a56a7bdc42391e0edc4dda16a4c2e55ff180cc1 Deleted: sha256:abea30589e7cdb489f7269887efdf005fa2acac97c7bb5b8e6bba10444c80322 Deleted: sha256:005cad9bdc32f8aa60afc7e573c1b94b6fe03f60aef762eabab5db78cdcd03e1 Deleted: sha256:28137b0c931cca050fbe6b23feb05ddd6df982e7be7dd08633b6a224d9520a48 Deleted: sha256:f9fc52c927abc0fa03f63182b48818e60abd9b24b31511fc47375c3c8758814f Deleted: sha256:dc70e054a380ed1dc34b7c9ede04ffb232c44c664b809a35f710c2f953974e6b Deleted: sha256:d1ba712bb3b89f45f28b64c9f84e66c883016b1b45858edff12efbdd3c505246 Deleted: sha256:9e318ae76fffd426e22e01e343a1c63568c1351a89ee2463a7a2c75d05d6f74f Deleted: sha256:0f1983ce59993b7eab5000912379891c22c9b6e86109e94b0931791b887ef0d9 Deleted: sha256:a45e42cfcd27bc1580258e9cbf706399a0ad8db3612b77a46b151c38552c881d Deleted: sha256:526603b182d7221fe5759656e659bf5d14d8398cf695abc1a17771374fa2aae4 Deleted: sha256:ea04f4381952af2b032ebe5222470108f1da90ae3df736cbe35003c2f7d95dcf Deleted: sha256:d23d6808fd342eddd3b79f8ad5b4245116d9efc39fb1c33028fe660b8bed537f Deleted: sha256:d2e7dbc34a7ead161e1a3d90b0addfebe18c583ca73ba4492c5b976db41016bf Deleted: sha256:1ad70c4b2adf6870e6eb98ba7bcb2bc37b53141bff86a742cfe9b216bda66aef Deleted: sha256:053a6ac684a87b2661f2fedf464e30f11141618ea2f69097250d858383da7cf7 Deleted: sha256:24f8ebd0ef53961b49455753b00913af8cf663e90e2185cf07b7339a9a77624f Deleted: sha256:8c35598ac4559e2b297b60d0f0596c84579930f1e7f611cf026c2c3710009376 Deleted: sha256:05dd321589e2a78de9f31af3c8fc0459bcd50ffb5ed9a16248485842e20d2ac9 Deleted: sha256:87ab318738a6b06acfd11188058b66298bd224f3505610b8d0cd2e383afc9da0 Deleted: sha256:019643c17b1da6178dace81cdb8707e176fe8c8d0f152b6ffedb68c4a979a022 Deleted: sha256:7bf49cf66d87851eada09940b0063503c6ab10390e1e5bca711153da7d05e401 Deleted: sha256:0b1e52a2467a5533c05b9ccd355d011d64e442bb9d8977a27af0a6569c49ea27 Deleted: sha256:57465f0763532b741bbb978feba482b5b0dfd2fa5ad2379aa5929b7bfed94ecb Deleted: sha256:9d026082fd22a0abb44ab119a2d5f45d34a7eed44fec54f97e829f53b6325d1f Deleted: sha256:33329b4d562aa2849cf72064eaf05d519e20681088b29745fcc61a5edbdf597e Deleted: sha256:4505095756d941106299f758d40663fae4ef874a16b6548b6b579203103fc3d3 Deleted: sha256:a9bfa94e5d1368e10d05a6a8cf4a42f78c68444b6ff3a5c259ca1d9fc423e806 Deleted: sha256:fd0eff21491f2d7c693da693f8c2d1446c2ed081aea49835989afff640169566 Deleted: sha256:531d7bc537da63f2102d76e6503beae0f0dae2a07f69d6d8149fdc67ea827e95 Deleted: sha256:d4abff21accd5e3e17628866ffa66464cef9eca263c58e5e040406d62c118d3a Deleted: sha256:418be4cf24f7e8844471b1840e714b1305ed7ef3899e1cbecae883e79b65214d Deleted: sha256:3d8f7d0da86716e690e05ab54b32e801592169c722eff3b2c73a1ceb020d0b1e Deleted: sha256:7c6a071a5c725fd90b12524c6b419c65bf1a59c2b5ce4c8ed1749c9f6090b719 Deleted: sha256:85ea43e8cd09851b9f6418aa6b8bd07bbe5c3304fe267b69fc90c32201c2ff8d Deleted: sha256:9aa9daa862e00ad1e61ef4791e94c104e1bb7e9a98dd5bc5ba6ccf8fcdb39bcf Deleted: sha256:2c870210b03ff0ed5ec512b7b33da1f68a4ca79c1a6f28dce7f8d98ba9821869 Deleted: sha256:393e413747c81bbfa5b720a3fc6aa5f7f979b7d34b297c55d7aa049b17d8172d Deleted: sha256:2105c846be3c0efd888bdce6acced1c56d10f5ff9afd4527df772f55cf29b579 Deleted: sha256:15f52dec18b42c948aeee3f188cb162b9e8469d0f195bf8ee8f25b3736039bf4 Deleted: sha256:33ebf28a0d80ee84e404d58e405872fa4a6a5fc91c3b47d1a349466a03590df8 Deleted: sha256:a3e60fb8710863dea6e365fce9be9a7658f381605a932dee9f9a18ef907a8588 Deleted: sha256:d54c1ea94d0ad812f4723909e8be1bfb1aba3a29f53f7a40aca94d1d3cb2a5dd Deleted: sha256:36cc2a6426b5323e6c521e7fc889c75a89298b5fbe689647536e067cae884102 Deleted: sha256:2cccd09a29f3a67a7d979c21ffcb6916f5aa828c949d801da6edf04f38915055 Deleted: sha256:5c81f832563cc24b41d623b56e5c170a8c7a2e2e8faacee3b3990b0675e95ce6 Deleted: sha256:6f6becddb2998d994c5e56df9b77a0e58f7242ad0a809351a271be2bb594ddf6 Deleted: sha256:de5175c86f6f678a24a2aff95075bb944937f5cb0d972680b5e040b74639c84c Deleted: sha256:3d02e25e650eaa44e0c2e55092bcd0af031eec7014bedf2c7dada63079370629 Deleted: sha256:c82f4613cc5db1e394a22550740f2713c15bba4302b015b9b5eeaa691d1d1263 Deleted: sha256:605f13c295eb56fed5e3dc4dd636387f7185757bfea9b0130bf6e6a6d3533441 Deleted: sha256:0a196061967e801dc4e68a48cbfb42018e2745d9755ff0e7db1a853e2b4c9926 Deleted: sha256:6731debfbec2d8ca1cc20786c71f78dcdce1f0ac8ec6212d46f7bffac6a7331a Deleted: sha256:465313ee4148ab96df68ebb407778b224dddec173d75a2c98b08a6a522471e5d Deleted: sha256:3387533a606eedcd7c7a04b807d129003ef68d687e3ee8e9687d0e57c5c625fa Deleted: sha256:67b270ea570e87bd2197a24d55ef79d74e676f5e22d55b1fdff9bb2f1d95e8ce Deleted: sha256:c12a2cba8d91f9ffd94fc1634204771ac98df4c87d7b15b43e5191ad8e68c9db Deleted: sha256:f3050cee4fc6bbeac7b73cbbc2198d427215492991e279ce841f9b23bfedc004 Deleted: sha256:8586521a2454475e86764fb8049f5a498cd8845b6eb8a0cdac779ce2dc6786b8 Deleted: sha256:e6a7fd66fe28446491064383c9c82641559e87155d7e232c81e240efb89d3b39 Deleted: sha256:3f0eba1763bf16214161c8c4ea1e834420e5d5366f310d78d05c23df904bfe29 Deleted: sha256:38b0cac52ca0af30a31233b7aa93fab4e4d65142ffae3613fdb4b36d26a1c7df Deleted: sha256:8ffd54428810c96f6d1635392f58d21775eacddec1251303a291468766832088 Deleted: sha256:e045dd0f37932c82f775eaaf0ca8ffe47dd16c6179bfe96854a0685556474f6e Deleted: sha256:8df5d540131a1d1b0df48416322b4d8c0059248e47a9c4bc92494a13997b2fe2 Deleted: sha256:87e956ee0b38f4080aeed20d6a6c9e1c126e591caf1574087dda375c8bb87e92 Deleted: sha256:7ede279cf0546f804a92d7006f71fa266af5102e8f2f8bed143ce5af619405f6 Deleted: sha256:4cdf7a97043ab1847ffed94abd2e3366783a4d05b00cd79e3b6739fb0ce1cecc Deleted: sha256:ef0cb8e9570e488b67399592229a23820ce8382b3ca057cabce41656ea00523f Deleted: sha256:b2ba5aec7c857d0a285fda9c9522b625230efb6e825a4d3d12e7317dbbdad1c0 Deleted: sha256:f921598e5f306ca5e16e7072c50e1e70939f91824cac40d8db48a00fc9fc1aff Deleted: sha256:116c64c78f5bfd53736dc6ef9c27daf32439c3ff326a10e30d6519c6d8f644dc Deleted: sha256:0f6658da8b395ed4bf68f8fe1ce9a6d801b434bcdb00c955bc74924d8dc5df06 Deleted: sha256:a54aebdeb9e3a4c3db9008e3d6f11abfe9f813c624ab650251d194d6a5348781 Deleted: sha256:5c43aa878aa6f9da5580a5762ae86af04b75ed9c2d7ca0d6189557b7fb5db58f Deleted: sha256:8e21b82fddd1700cdf57db9c0cbf1f2dd2dc69cb14929b31abbc5d5915e7c125 Deleted: sha256:6641417ad4d0297e09891ee3fb4559eddac85a6e4bdfbef31a23ad64cd91e6a0 Deleted: sha256:a6cd4287a3660953995cbf10f6c8cb57d1d1b45ffe8bb37c0bfbd284378afffe Deleted: sha256:dfeaf15adbc6419519746dbeafe9e61c0db3e46e16b91ce4ddd38c5f23ac8ffd Deleted: sha256:9e82f32cb002ac9d6bd18e5630de3cfa5a10ccfbbda741c47b97ee290959248f Deleted: sha256:8414fb563ded8dd5c8bd6bf37492f47cce34d68798c90f3c6322afbe9a376eff Deleted: sha256:588f74239829acb3a12456bd94fa15443d2a0435754d33484657c07d3e4a7bc0 Deleted: sha256:88a39f8b8830cccbf5563c2d8f365725872b97978497b97253b50cd413098fa0 Deleted: sha256:9953da393e5f421fa6740a203f91dde0e6ae435bcbe0ad7b26be798fc7ad1ffa Deleted: sha256:eecfe2fb772fa22861b8ad02d37b291c7ebf69f1f285e60ab069ad9e8a4c584d Deleted: sha256:40d627abf9a55ba0846ee467b5e7589fbdcae579243647f4679539ce2f05f831 Deleted: sha256:753c65b600854f8df2698fa19ce478fe2d70ce744dfd46aa118e5d983216a87f Deleted: sha256:055e354fe1396c7be1553908c3f0ce61e6fb593d072faea6e6627d8a041ea9b8 Deleted: sha256:18840753e8f6485d10b93e89941327e7984457b92baf9b26b90fe9664a7d3e43 Deleted: sha256:70a1f8693eb510cb4421db86a0810a662e302daeaf55469d510220a967190829 Deleted: sha256:447b05ccc7c03789a70dcfd40fab2cee8a0105600a5b3fbcaf32a7d8b2d7116e Deleted: sha256:d19af1e4a4d0f939d263d706a52a81a2fbd1474bbf7cf2391dbff50e8ebcadb4 Deleted: sha256:e0dfd396bd9c588beb6515571d2bc9b2a40ded6906da1b4782db0eb999d8cd96 Deleted: sha256:c0934606aeb29d185e5e4da995fff9fe1253bbe54ffa21137951ae28787f9719 Deleted: sha256:103ca2880976fc00a79af63682bf54c649e23f59231b7f065341b5045da5985e Deleted: sha256:006ed606dd7ebecc443b4f6a77c3dcabf73797fb5bb3b5650561df5ab7bfca6e Deleted: sha256:5efbb78a1ffe646a7d15b7ac0af86e9080c382f712a3757c846991da96e8cf52 Deleted: sha256:5a6ce35ed686a357ce4dd6a0a7ca27028f8e0b55faa699a362e47d1a9e4d604e Deleted: sha256:13751b8edfa76da7bfada6f9a81654e997ebd0c44be32ed55c3aa1fb9783b9dd Deleted: sha256:2a8d992d19036d2bbe288ef00b5f8d291f40fc027db2ffff90b5d6a501b0e977 Deleted: sha256:28142443679aebe16e4d13f3f6b432b1b205190fe1dba2a614a1939cde4b6dae Deleted: sha256:2aa112f4135964bc6191c14fbca450b53d20a52e43f5a3c7724a920e3c413c0e Deleted: sha256:9a2d44ecc5f9c36b4b1517283cd7376a5951c7b6a760335b74609b438562a84b Deleted: sha256:86212a7f7cc8d423438d033c8764393521cd1487af426f02c2d0213aa11df8d2 Deleted: sha256:06ed26c2425d37c4f3b04b0cd3724044e359cb4ffde7a62db2952dc924a4816b Deleted: sha256:4d70ce5de86a95526bc0836828f3df4f51f944556c25a822dbf7cd2e117800e4 Deleted: sha256:8fe49b54a2a0da2fb34b0c6ba5667628626319b3d8d9a109bf0e586d130b9684 Deleted: sha256:21bc2f196b654bdb8858487ed7770559dbee50d062b9c53116f8aee451572b63 Deleted: sha256:503a080c617739d02aab5226a1186c174a5fbc92d86fed0977e181e5a490c3ad Deleted: sha256:f824a31c6e2399a3656076097ae0fe95a99c7f6ae902ea0861c6b185fe454a77 Deleted: sha256:72c321273e2f84cc8ef3a178feb92d3bf67a93c795a86c34d83bb5d9186d22fa Deleted: sha256:7549787bdaa3efc712ecd20163df43f64ad8de4d5a59f98cc4bf491f5cda7240 Deleted: sha256:3b85303dc008070ae606b5e96cc9172ae6f1d312a94b09b41132712d495b6018 Deleted: sha256:5703027d6c7a809be523ca8046888908724cd5d4351580ea067e4908b1c6944d Deleted: sha256:38c4a4ac3088c7f64708ed1dfbd5d2b0df6aa1f77c9e10f62256938b9688a380 Deleted: sha256:f11e439e7935c9f76010d0bac1e3f0eb6c6bc940ad03873d5ad6304bd1f0876b Deleted: sha256:c512a754caf9008379cfea18e0c6067d4aa1e3b6d0a151e91287aaf4c5dfe4a0 Deleted: sha256:d5ece73faa2219fddf130f2831499443e9b641b884813aae54f9ad39504e0c2d Deleted: sha256:1c009e7db7bc115e5cb4192a2db176522a69b5584f305c89119d7fc0145183f3 Deleted: sha256:000c6585c87c8c4e66b736780ea1a107e07008fc8b409831a2bfe452d964485f Deleted: sha256:6e5aa2ded19ec7de3b927f9838de1a04c9ebc8754846a3de2f926b83db2ad4fe Deleted: sha256:7282c8e033c9e481ebe0533bc0028b92b4def15553a0a1867ffd2ccfb4a89fcc Deleted: sha256:bd4b8d7708c5d77d115a61d701b647a5a65e602db15903885a3efa265f633c96 Deleted: sha256:6b291f1759a0f08c1bf3ee4810e62ef038473f4a7a1ba83ec099a8bbf0a434d6 Deleted: sha256:753a379d5e6de483ec06fae93e1a8e4fa103a94aa0e19d9285de8ecd4d0291e2 Deleted: sha256:3421ed8d2beb4cc555a174dd85d373413a302742fa8258815800790dc030c18a Deleted: sha256:8c48b443c966bd958c53b05f49b6edbba87ceabf99ec17265999152fc7a2bcd8 Deleted: sha256:abda260ddd65c7e58fc910da7bcc59a40f6da73fcec47b28ff7d1759320f7113 Deleted: sha256:7fcc061960d18d7455a3e43fef7e9727fa680d4dabf9163b4ad7167af93e57d1 Deleted: sha256:b34fd4752b766af39cd1d34a595aaa68ac2bb1440911d849d1b963832e886d79 Deleted: sha256:4bbc6368b3a675b5b70a4fc0c69c9077a27c3fb49e0a1374a3907479986a016b Deleted: sha256:1eb5c16aa9e0ee4a0dacdf478ae6452ae07f419043174909cab395685d11466e Deleted: sha256:ba25297bd0bca33c09792c59896750af1392ad1efb3669ec7c1895123e497f46 Deleted: sha256:59f6d06cf3c07dde8f9a1e326d4565ea7b007191747d07504fbf4e2559bbd938 Deleted: sha256:7bb566f75415a63ec360bfd7ab35405240ffe3340651681c5b94b4508f085af9 Deleted: sha256:fcd8902d8c189f28d65f31a2c6f7ae1b5c482ef9f1454f92ddade9fed5ebb95e Deleted: sha256:345292e63925adb8ef44f787fa648a39a734eb24156e37c680d98f8d81ace2f5 Deleted: sha256:09a7996057af1e02b2454d706fc515118c1c3a447599b0b8d9db7196c1ae54d8 Deleted: sha256:12bd312840906fd2c1efad72c0d59596d82aaac83ec5876b4d47b80d771c9c26 Deleted: sha256:2bf8e7a92a2337e4add00de622eb001a2cca1ccf45287ef7e59426e0c6533c35 Deleted: sha256:046a44613394ad1af8acb8f272af81ba43019fe5267afaf644a0fb6ecac709ac Deleted: sha256:672aa86c86f10379c69493d80c5d7ccf2fb17b54c7910c60ca672ae312c6b0c8 Deleted: sha256:9f423318ebd6e4cdb802957ba5a280854c620ce9bccd0f3fa4261247a13f1d69 Deleted: sha256:9298f5ceed9ec08800a33373070a882dbeaf5e69fcdeafec53920359b67c24a8 Deleted: sha256:190d0ea63c6626cc3ab213f921843b5842a586370e85776984e7608c8f0ea1a1 Deleted: sha256:82f0d5f54ea7b01b46dee97854fe969d66b02d3ad1c97e9569912f06d472235e Deleted: sha256:86ebdf56e9bbd68a1fa2208df209b3630bd6d1505028be5913b9dcdbdf329933 Deleted: sha256:6b65a9604f653046e53a3afe664e141e9c501e56f7cdb74ae39943d74750c760 Deleted: sha256:20a3700a967ef9c555c1295a9759c0379f359d1983ad559846e2b67aea7b666e Deleted: sha256:8ea06f433af44897da4a4b801e82b71431aef626af9190910efecf659991194b Deleted: sha256:4e24e29402cc2a7aa148be8f6af74de25e30f8e83f6a1d79db902eaeeeb10e15 Deleted: sha256:effb96bdea9f7f81e9cda9fe70495db5a8e77ba1cd0c651aa04e29f7908d4f1a Deleted: sha256:eddb91528caec9546ccd7a2bee19fe609947c3b691aa03a6d9dfd0e95fdd8aa5 Deleted: sha256:5612c98a3e2fa58ddfb7c5f07f9452bff94bf2156d649b3e267aefb3de322610 Deleted: sha256:1f81be9651f9233e38b551b3f7f4bdb3a996a9b9cb4c80bbbdb61dc42eac07b9 Deleted: sha256:1a85b04362053274271916bbd8182ea9d8bf8bab86b1f8cb8b8e5fc62ed43623 Deleted: sha256:f87bf386d58f594fcc8202841ba755aeb69bc6da618bc4c0b63bec310ed5b0d6 Deleted: sha256:f37889a0c1fb73d120ae5f82aac331bbcb6c1984354448715a138cced3b3d752 Deleted: sha256:d7b8cee95af594ba1f440071b835c70347214ed17edc379e0893243d569612ac Deleted: sha256:9e6f2d12ac914186c975e1bbca930c68c5219bb56de49fe88c2f92d7718500c2 Deleted: sha256:cbd24ab8b38c3f5cd44d43e3967dcb1ae5e876e83faa28c57e04c8eb3766054f Deleted: sha256:6562b2307ce7ce45d8cdc421c6bfa2bc3c090d1c3570ba8ef5bbc847fba5ef44 Deleted: sha256:f509f61b6ec45d9189d3152b3a851089e45c061234a15dacabb38091c66add71 Deleted: sha256:c6a87a07be8afc094be6f01d1033db562e0ef92bb6051b90fc86c6c025662ae2 Deleted: sha256:b2cacf3cee2a6dff257710f46fc52f0b73ead0220f3241e99cdc18d145397211 Deleted: sha256:c41ffb6e44bf0530b5ef3f0db90077ed5e78b133db5029ab5102946fc19ea522 Deleted: sha256:b38a299be4339f640936b0648ab77917c9919478c13c00fc03940f92de4c24d5 Deleted: sha256:ea8fbd48eea42bf6c039eca12a52a6c7eb21270f19b5e36348baa06cf988e247 Deleted: sha256:01769ea68a48a7efb2a5655588df048ecbf97bf81259812c0a1a0106bff00e4c Deleted: sha256:c5408e8122e02eadc4acb852bc4b5993f8ff0c6a77bece9f02922a807ba1c43b Deleted: sha256:643baa48b3b7d17ddd216724b31902f2501bead124d36df7e0bbb655542cd2ac Deleted: sha256:2dfa24ebdd556737befb023a3a6aeee92b111727494718ae57f549c7bff58745 Deleted: sha256:00e0129dc9e63f0ddaef4cd73d95d3b38d72e70e8eba65bcc5559c32303cdac9 Deleted: sha256:57583388d4eb80e8ac89a5cb78e1da6fa1bfb555d4be8e5710a3413bcb1c0ff0 Deleted: sha256:ac8c4cece4617504c62e35bc7f277041e1138aece7d5c3111aac8c45775cdb4e Deleted: sha256:77ceba65bf9d0d5ac6490eeaa203f353c8c2c912b8f405fa06c35e1600e482f8 Deleted: sha256:d808ed000bb1de00258fc495cad4d33c0911c865421bda031ae1799625ae020c Deleted: sha256:b99811d3f83bbd85eecb562e8cdccd6d50e5e6654e77d7dae998b3e748d3eb1e Deleted: sha256:10b7c33c8a9699ab0c6242976fdb270a9096aeecc6d58b5540f6d4e845e92ede Deleted: sha256:5e5f159052175cbc66714d4339d9c521113d1a9f4d5d2b26cdde3c8c42161c7b Deleted: sha256:be8cf5f787c2aae2cb90da5bd9bb5208a4d5df570cb5baf5c8f27c74ff79212b Deleted: sha256:37fa5b4c1a3d24bb7bd0459311ef7aa6881979e56f13b4a266d404074571ec49 Deleted: sha256:9d714b714ecccc9f5f114202d9eb47b76f9b8252d71151664eca4a9b9a8fcc72 Deleted: sha256:0cc732c4d91e3e89fd36ff531f8404b8d156f93a6c54d5b6be70590100e00b50 Deleted: sha256:3b39f9f6f3ccfeffdc2f888febc62d43e5ac6b72c00bc8667c777624e054fa7f Deleted: sha256:e48ca5eaea308f7c13693d16f85e842c78876244b14c62401c805e86f76ab02f Deleted: sha256:5d80f6581ad6b778f05ec2f176c36b4650f50c43844a23e7af25fbff1a68fc6c Deleted: sha256:449953b5fc7c9a5954d1e658aaee918bb21d5bd93ca1d60219d7f340cc8319a0 Deleted: sha256:f9d953cbc34066222592813b4ae0080e9b40946e9a397a144d3d5547a0dec4bf Deleted: sha256:db637c709018dd5e703558f90f738a1a725edb2f95ac7bcf2029439fb7ce2151 Deleted: sha256:e946152ab87ff1523a31612879600d09c2c9fe66d3d1bca8af3b5d90090a4f07 Deleted: sha256:691916f7a20cbd1f5f677fc04bfb6abbe49b0dd0f2905db6cab223e8d874029b Deleted: sha256:6432dfa62520c1c36e058dad7f99c379a39e3b72ba935148395712bf9898a7ee Deleted: sha256:5b42bbe7588ffff32258c6e4d2f4dded68ed946accc4d9ab30f19911f2b9c8af Deleted: sha256:b75a1a4a90933a63b00e09c2e5666f668b6f14eea0f1739c339d0df305b2112c Deleted: sha256:6d8e0b73956d3dd6be717d4b1d6db3d65a98bb8bc1ecd6b6560e0432eb74a262 Deleted: sha256:9a97baabd382ad17fcbb3d004e1f21f6d7d6658ef90205418ad9b1f5b389fae4 Deleted: sha256:290199bd16d525a984b602cfe1828a29b10e623e4961089c9a83617383d313f6 Deleted: sha256:a66c45d6425f5344d19c3e6c3cf8914024bfe950205da25055e9c1ac9a7ff8a3 Deleted: sha256:1a56953c798b884934c9c60c69bd0c588664b28f29cb85a540d0226d9cacef40 Deleted: sha256:4567f8172f901bc2947fd9d158737861bce5778759e593a65c86b4d528c1f35b Deleted: sha256:0d703ba6a0ffd5aee0b92ffb2e61f4188c6d9d031678252ce8de6ec83ea595c1 Deleted: sha256:7ad29538fd865ec8a88036dbd43d4e34562bc4d9af393d3f3e48d749b6d0bed1 Deleted: sha256:6c7893ec127194ceaf2e18db54198cf6903e1bbbec2199e7545f2149149de8e2 Deleted: sha256:260230013b98ac6dbad91b2d5960216eee39c20eca43b65838f0712a20ccb4b4 Deleted: sha256:c2743c8b87859436dd43ae61920524f21824ab66a68edf1cca1e9771e110519c Deleted: sha256:6a18aad685d88d6fb72013e0d2679416d6736efe8479cd4a54427d91dfe6cfb1 Deleted: sha256:00fd9bf349be641bab45819fbcb430cd05e65a70f9a4943dd5fdb9dac8f23291 Deleted: sha256:757318ca9e0037f7787bc81e2a4bb057ef6ff69166c38c29cb422d51f1eee407 Deleted: sha256:3531f0b001e71a467029696e94d0e779f19e5d5058b0885997049b2d78f59f62 Deleted: sha256:428afc70496ef5ab44a112d02a467c177835594900012c3961aca88f96b6a272 Deleted: sha256:56eec8587d9c86d1e2d2f71fb9c14607835c5617cd56c38a407c90d2dc4de792 Deleted: sha256:822e569d6684d66d72f4f382b379da993c56f3e4d2ff687c8978bba653ac2fdc Deleted: sha256:9fad70f11ce41471afc78a8e6206de41780023759022136f3fa508df304dd9b9 Deleted: sha256:7f85643512bba116f59d08b0150123c17c6df4a3a7060f4ebc31078c96b600dd Deleted: sha256:0927195c485adbdf201401027ce368971665e005434e5a2b7aded904b4835814 Deleted: sha256:66682dbe026eeff26ea30ffd7a0af01853f96765cdcbfa227f20cefdd0909231 Deleted: sha256:8c0de21d4a3de16229a11de9e97f20e0e123a39557a04625c3d0405e89c60a2c Deleted: sha256:24619edf8a779c961840823e0d55d4335ba461a7d3da44ace8f3b7ac6815fb01 Deleted: sha256:ab3195ebb3e30becf69ce56b014fdea0936cb7f88fb281ee134065763856547a Deleted: sha256:871ae957263817f367e2981f70ca1ac337c69fc2b5159a19de1d357ac25237f8 Deleted: sha256:3543658edbf4d965ed18eb802c3caaa8a20cc77c163bd580ebe921be24b2eb9e Deleted: sha256:b54b0c77757a0b601d48f7d4376b996e0a43015ed4fa42e9ea903372b89de2d3 Deleted: sha256:0513124c9b811c43e615c1cf1c5058456a8b867de75fee5a5d3aec8dee382881 Deleted: sha256:038218c2e336c39754feacc515930762e18f7d04f907173788682a384daac414 Deleted: sha256:86814ed8df57416d27c8df9d709e8074cc6b396e7a61f76bdc1e51742622a69a Deleted: sha256:fddf0e09de984f74ee4177439ec8ae0b54b090f351b924e0ea3a777e3f5b385f Deleted: sha256:3afcb4422685f1fe0941f04153b05a8fd2ee0dd8d458e40bda0cd307e24c4504 Deleted: sha256:b3aab5bdf0a3cb3aea02d07117d03bce503902f604a0502f095ddb72c6eb57e7 Deleted: sha256:12ed4db7ae8b9e0977a3865538c8589b1f09f2a6b78a6f2ff1deb8299a248c85 Deleted: sha256:daa617619349b92d1332bd99aebf963353c6a3f2bbecdcc3015ca967f070d77a Deleted: sha256:82cd123ba03135b5207284ded1769b07dc7ed669ed933f1b4e4b0016a5c9232d Deleted: sha256:18ae8a28731a4d9993c8b9a8c8c7b5cc9380fad037f2e24ab552968d763866fb Deleted: sha256:fd7b62ec60fdca70b313627a4d02c7543a681cdfc6a66d5354cd6497fbc9fbe3 Deleted: sha256:c2d74a67ac98a165a4227cedb71095052801d771867bd061571888f0885a4e24 Deleted: sha256:1bbda179cf505cf5ad0e5b5354778b9d8bda96b91ef78b10edd60540d256255d Deleted: sha256:4f4fac79e5692eda69b128d53de5d83e322c4cf9a8c72e0dc89a62ed692db4b4 Deleted: sha256:c8f6624938cfea2e81e892a70feb289edec114d65cf1847bbcc234541e355a7a Deleted: sha256:b3c9938aaf61e73483dc77e6c8dabb55a6f4fd77dec05c0eee68e1786d67b624 Deleted: sha256:e39e32a47c5a43f9bf17279b3b17557bc66b8edf03a7f269ac0581032d404a80 Deleted: sha256:eab2960ed630941378d4197fda4e70d77abe9dd51a13c934d804c8b6a53ac830 Deleted: sha256:ed754c8b6076009af83441f3f15bae1c48163ad24fc8b892e5c7e06d50c94952 Deleted: sha256:c16056b65021ae329d067584693622c4a442a5e397683fb1bc4b535e341dde01 Deleted: sha256:7620399c31f7362092ccd9c16ef4a999c68ccc86771758262b7128a62b452048 Deleted: sha256:8b39c4ac458e9497389f2ce0104a1243af15b2075c496506cc69a00e3bac6886 Deleted: sha256:b8123ee754a002710af9cf3c997eabfe9609d696039c12cd4767b9014de261e0 Deleted: sha256:672cab38139cd70b611de1dfec7dbc556dd5d66233ff2671b0317d65d06eb732 Deleted: sha256:e1dad0f98de86f479cb742fb52988e1a0d4e59dd35b98e36ca5fca1876df5191 Deleted: sha256:de8ce59196ce34a941edb1c09e2db194cc0aa57d1c8e80d6a2e8f7c6398a9e9e Deleted: sha256:89153f91aff3e7d33480815299835641e6f6254cac61e1efbe2ce8b7673e43e9 Deleted: sha256:75fa8c237d287c689ab612a4d74027ee3dea851e96abb3068e15491c0f08cf3d Deleted: sha256:d1e224b37162c1a57d7e2afb0f90a0f704ee84e33868c048d43a61f641f32654 Deleted: sha256:81138e11922bb4814d4c34a5f274ca26f534ce03167cb1938bb0d7bcf6060e46 Deleted: sha256:ef5a80543f6bc34e8969b83f7a493bcfe0858b230086101737c0c6687dd958da Deleted: sha256:a4638df5260210891fafaa50181aa758dbf4a7745b5da7f460d3050882bb9fbe Deleted: sha256:560619758e73781ed7ae9e2ab5e87faabdf1c40b1267ca7e373c79dcc13af4af Deleted: sha256:f5586a8127a39acdd77a5b5d9f1af7c6e1f7187412635d7ee9f61abb7def3a7e Deleted: sha256:7987d6ed293cc4f51de5c5f2e96734bc93911b860b3841ce1b0fd13c3006a24c Deleted: sha256:d8c06f066c09b3258cb0b1061bb8410c96cdbeb6f7ecbcb17e7e8fa4ec7899d9 Deleted: sha256:649a5bb5ecc8066e1ff154bd731c42b0527c774ae034a93f0f97b053c03bc862 Deleted: sha256:1107239dbe588079562a5e0684512cadc098c8e9077927837c19567017be85db Deleted: sha256:616acb8199e7017bebb3b64d4f40c052969d4d7d64f3014dbda82ecd5b0b7add Deleted: sha256:af1e28caf2e96f6605ef49dfc97c4c329061ba08bd6aa9276bf9696cb03ffd9a Deleted: sha256:67580d4876f25fc3db0050f88454ef5b05eb910dce0e3b6c34982b52ef50aece Deleted: sha256:1e714c217ccfc1b34a14c227f9a7fd24bc092d24deab8d17ad082ebd9b2ec21b Deleted: sha256:7b5d58f8635dd1df3c7e1e1c1ad5faba6cea5e969c844d34753f0c3d092b5459 Deleted: sha256:d2292270c243b81b4fa1a371f7c2c3df346d277087eef9196d0309990c4f2ba0 Deleted: sha256:b2295caa99dbde3a460666c73f4841c1c91c6ea9acee0f76fd45a24e7198ac35 Deleted: sha256:c4f1e3269c7a68472c597ae45f8c0673f713e84cf0d1cb09d39112b54846eb00 Deleted: sha256:c8deff0ac34e74b80d899df691cec0e8b7cdc4e72354aae18d8466fea6b4088d Deleted: sha256:e8a9fd2a1ae78ac1e28fbd89bfacaa66413692c9af5d8317484c1ae12767dc7f Deleted: sha256:32fc4857162e5159b458e63634b4e6166297ba4149f635a971215eee9c4b200e Deleted: sha256:3d737dab6506636820ef91cba4c67c5d84831f602723cc0a6bfc58c3b732b8ea Deleted: sha256:11268b0b032e8d0b477f3d34a57b180e7cf5b86b9a9662401c413cbe8ea5e432 Deleted: sha256:f1e2dc845ddc49a976c27521d4230e0563848fb405678a192ccfd97cc95a978e Deleted: sha256:06b54e40d648ed823e3073281308efe0099cf71b627abf22584f83293657bdc9 Deleted: sha256:c95842de2da4bc6cf596ef04b91707194702f7c23c5a884f7c68f008592a93e3 Deleted: sha256:0a347d711165f942170c9b9d0690cf7d5bfecd679a7b37235331b3f644efcff3 Deleted: sha256:88c923c06df25c867d0e834516c99b05c544821adfa33652927874f9d774a236 Deleted: sha256:8f3b3213938c9750613ddf8338ba49c9cb74445a98ad2b046eaf4576f60aace2 Deleted: sha256:2c74fc0e6117650e363127de521c98ed152b431690410840d44d189e298fc575 Deleted: sha256:47f3d59ce2cc59e46beef9756cbdc1015e22da70e4cdd39e94d8d4f98d061c6b Deleted: sha256:a284d4fff40b665fde1cb145251b4e5a4acaad9046af2b87db5578283d194a9f Deleted: sha256:fbdf02bbf800b2ef7e03ad85082ecf4f971a08aed694f6d7b1ffada5d549d3d1 Deleted: sha256:fa292ec73962a8bb4aacf9dde26ec642feec2d368982fa69a5d578d0299c628f Deleted: sha256:180a904742043e16277f076bdef760e9c4609c69209624a4fa8b8e92e09376a3 Deleted: sha256:73eeb2c2be434410a3359a6fbc30ddaa48f143f4e9e00066a60a116b46bd30a5 Deleted: sha256:85346df2e2799ce43e60f25fc31b7605cb932236f5eb03c6e99fed9b8ecb03f4 Deleted: sha256:04623b39ce2d84d39eb83e142297d6227da9fa6238fca509b1fb1df600b07fd7 Deleted: sha256:73b1a122499229a3baaba6f5e1e6238e4c46045c668abf495311d7b191e4f4a8 Deleted: sha256:0c3aca05d036b77050f3b53582f2ea91c37086460faba1924080e01bc7d5730d Deleted: sha256:97821add2f1cd89b3224df33cb21782b47353740fc3dd32c674875fa906c9870 Deleted: sha256:55e757050d64cb5ce0d754dfb96fc7b3f519d9365f532359a20b56a319b73e15 Deleted: sha256:8fb5b2e7a63d9d9bf4d0c93277cc3bcf90720e6970a064444d0e4fe1ec2e8b6b Deleted: sha256:b187bc893fa40a24a256d636246a69fd0eba9197f7c84df67721977b975effa7 Deleted: sha256:aeea662a81e055912ce57286d789e5772d0056feceabca25372bfef761f0c4e0 Deleted: sha256:231e510aef72060428b71f7e82128e4df629ac2c176114af87b20b9f223a2665 Deleted: sha256:3bfc0534f0f096deb4deeb5e5c955a6b3fe49ee84c395933094af0dc2f587e1c Deleted: sha256:03623fac935eaa5954d9724b52cf7ccbbac09992c0434c4c760f405e2f2f5361 Deleted: sha256:d2f6a56499d4850020ef3302df68c73f97a26f75a578c9681951f99aeb151d7b Deleted: sha256:bbe78efb20ae78af74ead3de2a62500aac751a14b9536872421cba645046f0a1 Deleted: sha256:fa4df27b56ad64011116ae16e8dea78f4faeb25671ac284a7920fae474e77b6e Deleted: sha256:7a68934e40ba82a170a7783a3bf6e6b87e576e1ef5cfb4a49877e4008fe7e4d3 Deleted: sha256:f07978aaab362a0e23b04a4094833ad5634def978ed4521f6f7873f9da0a443b Deleted: sha256:9b0fb9f9d74ed6b384db26bf7e1a198c69cfbab32f38835b6c49d1f6d9705f8b Deleted: sha256:452aa173ed48e66c342e5dae840662eaf6bd627f373115548e848d924fb7bf6a Deleted: sha256:ecde63469d279f855bfedda27efe4249a330cbc7fbc1715922c3bd0446e77136 Deleted: sha256:63b0e88347170620ab63df840ff12a199a485cc3eb1bcef2aad23c7a3370f4f3 Deleted: sha256:6fab8ae39ca1b363ade1032cc591fde96f186bc6adc2860a00271203c3075b84 Deleted: sha256:c6525471d01e2f1ca306e3a7918155c147c0f51bbc3d09c5e83dd5c556bbc0b0 Deleted: sha256:c99fec28cc0c265f4aac4df5d56408413170e4a4cc646b431ab193ee75bec48d Deleted: sha256:71c3c57977ce528c817464042f620e6cc4cb8c46e302350c89a30ff6be660c31 Deleted: sha256:219b68d1b4e0d8b56de3e02cf800743026678eea019462f15b637a7eb5abee31 Deleted: sha256:2ceff15c2643732182502f757c2db3590244038453a847704d1b3b426c98ae3f Deleted: sha256:d4431663e0d65e6eed0b0c4a34c9ccc37b9152555edeeb04b95be8fc8288b3f1 Deleted: sha256:bf58d88df8e3e778e330c4ea4a857fb6ade617c1f4f6827797dca26c6ef1ae3c Deleted: sha256:b9f5daa8b49f169281dc74ed07b10e030e652514f1f8bc3b0ea8002757d210a5 Deleted: sha256:f685559418d75c6a4d0dfeceb4c2c14e2038d2bb73e1fb7ec0beea5dbce26cba Deleted: sha256:a745ee6b44f6a218f5c1c6fee5d64a60f51969c87c027cf8dbec784d84a4d35d Deleted: sha256:fe5684010319229f8f7f5fc20778b9dd9761153828189c6a1f5da3cf19da70e6 Deleted: sha256:f0700790bbe5117eafff773560186b30067d2900d3216bf383974155461cc49d Deleted: sha256:eaf92e3721599a28486d44e2e7d1ced59ef4c842d86e4a9780ba50df607f5fee Deleted: sha256:ce5ea92ec8235f7228673622ab47cb486d221af931366b4f8a2bc55181f6d128 Deleted: sha256:5a6d58ed167c8feef3f86271d502536a4e2886ef4f4fc8753f85997fe6bf6a11 Deleted: sha256:cb3c785b30923b19f6f5ebc9808cb73120d8f776a8a399b409a42763d993c72a Deleted: sha256:43d930701ab697f00e798bd1870bff8c66041240c08071f77f5dd1488b57ec4a Deleted: sha256:694a1eba4a52d2b49a045ec5b6397e48f828ae0c1fc982839862d1e61e93cc51 Deleted: sha256:bdfe8eaf378003dfe1cd4579c2fac8866acb4c70c1840d9d46063daf60a38450 Deleted: sha256:1173a2ed4838b925fa86686dfbdacdbdbfb091783279dc8b412dec2e460e8e80 Deleted: sha256:d5c8511842b160a62b02879cd640ac3a51d2b5d9f61becc95039df0428276af7 Deleted: sha256:de9befeb4c5a1b9b15262e0fe682fe72eefa4bacd80f64d065550d89d3ce2486 Deleted: sha256:bfcff5fb2dcfbe56e8c22296dbfaa9b154f555168b763c4b30b5387aab6bfc3d Deleted: sha256:e4daf7257ac0142bc8104c5d1bbb05a1c44121513cfb2ba8cceea38f5e0ec54c Deleted: sha256:34809b23d1b050dc5577fd98f869c73f5e30da8ea691c12d6fc7a5ec3cfb868b Deleted: sha256:00d7aeeaf9a495e444bf0fbe4545e3f34a1adda38be4606936e82b4b35222ac3 Deleted: sha256:dbfe1c5901dae28297c1b23f81d514b23619cee36cc71b7dff12a95542519fc1 Deleted: sha256:94194ce7c77e85b3b26a0e0e20925a063355f4c6b7eaab1f25f2243423b2df8c Deleted: sha256:c32f4a50ec3576d48e7d372c7ab493d1a97502dc73099f00bdc66b7ef92c7eb3 Deleted: sha256:20f1dd27b48ec0b211b691da174a4938c8ad2af6b11ef9b1aa724a075f3ba142 Deleted: sha256:d586e937abeee01fd6158acbf1a7538eed91dbec8b40b01bd6f1f3aa2d6bb171 Deleted: sha256:70843af35ef7d57e3a5b4d9f266f4ebfd9527c16c5c2c045211af2903d9bc9ba Deleted: sha256:32012688314ae9c9e07848f5a34b39a2aa09011c3918a051be1994272db42800 Deleted: sha256:73745f769ad2d2264d2a1599e6e07b7a1d73ceb02a36883d5baf7e0605225c6a Deleted: sha256:5ba9e3dbf45761a81d1d2c5d1ed4245c0f5ad26a923d132e95581bc4ca4c9068 Deleted: sha256:d3623940b78f663a5218985238a4466969672e62e5b74559bb02d74d37b4386a Deleted: sha256:aec9061d32881544594eae9040cbb924ab928da9fe1a309d75a47286660a3b1b Deleted: sha256:754d16c13dba5862469b2ef946edaecb52e2c4e2773230c8adea7d8c4901719f Deleted: sha256:fe6fa1574ad6c7334130658e41de8967c756088bd9e1df381827f83e10929b4a Deleted: sha256:44671e234e68d8922ada3181670ddca220fdc23a8eb33af94ce49762377ec65b Deleted: sha256:e5e449e94a859b6b5249803776da189c3415d6349001f3d6eb21a561faa1d475 Deleted: sha256:4dd51ef8c181ac37d1b443de3f0b5dab6ecbb102430884e798d2f3fe8c68177c Deleted: sha256:bc4830c48752034aaffdd1b4f4fe1d6690fc893b573c3174a7900d9a04df2478 Deleted: sha256:ad1f2cdd6371e77632f2a757670cdb9445f8edf147cba7c790a32d99e9aa2a10 Deleted: sha256:c66a597144bce7093cf7f8c80178f9693421b97ca26b3fc4ea272e517abb2c31 Deleted: sha256:29aa9a63bf1206715c8b8e12536db695da0d131202f5e4d96d990e6a303d2c93 Deleted: sha256:1b53f0853861a3bffb47fc8a1202c8d895c649fde49e4e832eb78086d682072c Deleted: sha256:2e396210d8cf296df4b81772e6c90397a35a4c4fa07c7784fab1d9931fa77d9d Deleted: sha256:cc7b0d23564b849a5868610cd59dfb7b4f55ff7a24acb7f650492ec0a528378c Deleted: sha256:6c73db1bf7c6f30a38d75d727e5ecddb18369410c3d80ade6e1166d56c147455 Deleted: sha256:f9bf0171b5413587e0ad36144b5dd12f562e8b1051703574f96278a292c1e3f7 Deleted: sha256:7a5e4addf5cfd45de53e511d37494eda68447d9ce8ee26acd47f1ef973e8a1cb Deleted: sha256:3212af3a464e38c41e90209688cbc4e6f98310be682fd9ae113e122046e1381b Deleted: sha256:a77b5746881d5b826c47f5660030f9e21acffcdd9b649a7e37d54b68a30d0df6 Deleted: sha256:0db9204c486ed36816e3d0c41a4796a988265a7b25c767afb8300e7304b517f5 Deleted: sha256:c65fa69aed4da844ae4c9f339fcef6e567867d6400ab516701ceee59d2a6e040 Deleted: sha256:9e588dac7a6df9cbf8f3e8b3071654bd9514d8f02b956f5681754265b2df7a20 Deleted: sha256:5dbe98ffe1530b7c16ab7f2dbfa79e7fd7c17e84462a51740d333915fb1863fb Deleted: sha256:dc0229dd0ba020abdcb66142da00329c2b3009b23dad4665df752b5868c8633d Deleted: sha256:49f06d2555b814ed8c363de9a1b99bb591af275977336f426698cf5ea8def9b3 Deleted: sha256:88c2487aabe752cd92053035527ce45211a7ba3630e1032f2abf402add786cdf Deleted: sha256:626c1180c1c69e8df412b52889bc32758a1c6106ed0cd8d031f0f59798deefa5 Deleted: sha256:d43dd0afab3f1e85b5fb474c9813f83dc0abb5e53d9088b793c41588bcbf7c30 Deleted: sha256:0ea14baf057f29b9a525c7123c47575ba2b541f30e0510885b6eee2e09112aa6 Deleted: sha256:fed6510426e7ebcb5b730dca3c1148a50bbfe8bf983ee05a9cdaf12f9b8a76a3 Deleted: sha256:9fdae61258b1ca5e91a26acc16de83de59f556b2e02c31852c08f83adbb94260 Deleted: sha256:4e3ee48e080bc38ff67274eed6ba448ae9fec33fff8a1027fe2478b945ab230a Deleted: sha256:bbec77ba7bdda0d9a94089c50453037a244234963caeb95411d85d54a1279959 Deleted: sha256:5e2cf3b06a16565f611c73e53dd482dfe3f7ee0f5bd2f257c7ea987ea9cb35eb Deleted: sha256:9a8c97252885f6b3259ecb5b2cd4d736d61dd25e28441ee0c22221947ed66fe2 Deleted: sha256:5909d1138899e95eb47606f2b451487ae517dfa318a0a9e66887bf2157c0ef2c Deleted: sha256:0c723d2c0294f7aaa766a79469e6c95ada55e332892dab92fca3e07b55372030 Deleted: sha256:10dafa146eb2263b992894ca0448a7d461c40ecbfe6fa996d97e3d8450c060a5 Deleted: sha256:e6d0cb5fda7e3b9ab64170da35716d9e2fff9196c937bd5acc0e1dd07ff88ce7 Deleted: sha256:917dccb6c38895d065b3418244c5dfcdde40f0a566bb02cbca58d311a012ab89 Deleted: sha256:2c4029a0a3f21c08da9c5455f0e7540d39013df57581c7d79b82777bf9d42ba4 Deleted: sha256:5e7087b0b213b4d5ecc3a1e98e5471476aff2c3a3394e8c0d6fe1da8514fe9eb Deleted: sha256:8eccb7559d17fadd262b28438b9b962289e97cc1bf629cf1a82c58c95d118009 Deleted: sha256:2ef8596714909163d1c27d1f90a98d4c297443361e32cf9f26f0e66a12889078 Deleted: sha256:7192524c611d763354d92785bcedc8debf416e23c594f24a7a670600568f63d9 Deleted: sha256:c8e9f04c48537a7bc92ea6d05414865e93c8896071ecdd69b970e136cf00bbd8 Deleted: sha256:c6428e8a10451774d6a08658c6ead06747474482b5be27a92d6cce878493af5c Deleted: sha256:aecc7818217c0b74edaa63e0c9653675a22026c525193d537d8a6efa96e4649c Deleted: sha256:f55ef658fc4844c9aa7e470f5c77a182f8ff01c6ea49f86ae119fdfa8bd07989 Deleted: sha256:a4f97d641c80bdc8298a4dbe48433691af4839ff196743028e4e84b6d96d5704 Deleted: sha256:68c3e29d7ea9bf9733ed39237a9bd85bdf0580c5101e9fa61e2daba3957b0b82 Deleted: sha256:784609d7d91ec88f151d1ed3e7337e5a48aa48d6555124c697736f116647d207 Deleted: sha256:27858947a5e2a347f3e52de1b272ea73638c3020cfc8969c41547b65238e0107 Deleted: sha256:474fbcb6a3906e83ec884f8ebfffb0d111db9f364863ff4eb635ea7069404d7d Deleted: sha256:d86f405ffe76726b02a88e5bc56c7b0517001dd7145b5c240f811f59b812f989 Deleted: sha256:597db747b33ec9b3bf56a31b039fc2cb855feee593f637e9e538ecfde199a5fd Deleted: sha256:11f4e7b9830bc33bbf2f7fe8b7e42851f43fa1b470fdcd1dbb37e05d45069097 Deleted: sha256:55e2f9d65d8f2dc3126503d247732593c4f8e58f6d64a86753a7c25610dfb4ed Deleted: sha256:df431209311bd0b3edd5c74eb3b9fdd00d544945cfcd583e4f9c2fc1bf183db7 Deleted: sha256:6c3ad6f29aa80a6f2fabed3f5c5baaa4b2ea57d08bab4437fdafe2c9b0312b6f Deleted: sha256:60d43c07d1544d01ee2c13ad3c7d5973dc3199085774bae76216a431bc93d98f Deleted: sha256:71466ed3cb56a6a48853b631d29e62bb7f0d7b682908053719a77d11aacb8e6c Deleted: sha256:99babc18f706c3af102432c4794da1e44954343c9155c8b00582ba67d315c53d Deleted: sha256:f58aacf1da7790af77eb8c6fd8e3d0702e3103d25a1127340a58514970fb0e50 Deleted: sha256:4cdbf5ceff8755dfd4dab05ed8734c026a02826a2494090a5038ee9f479fc9d2 Deleted: sha256:7a259446d7b2c06697d1a476ac25203b2be00e154aba5b29945aee950a97538a Deleted: sha256:33f1537ae146f764c81ea3865e97a2d6e22a6cc4f8d9cde6db56b72f21ba5944 Deleted: sha256:7559e82356384e393dae76020e94a87232940f7407454ca616dabbb6e7c1bd79 Deleted: sha256:f4d61012416977adaa9d47bc524d8687e5cf6bef677d4f4a90d2e4dedd1da342 Deleted: sha256:0760c326369898c6b380f958117ccbf044e583b1bbb7261f1bc5d39d0e480dd3 Deleted: sha256:70c88bf5ce29a1bc562c4f1eed59f6049192040bfe89bf529e4b9cc31c5a2b5f Deleted: sha256:398fc32c0325c07ef07828dca3cb50bebca50703dd8e4e1ff30f34a8645cf67d Deleted: sha256:7c95285d0ccfaf3c376653628040ba64fc7e7595dabd5323a2bacfe761a36714 Deleted: sha256:50f27e89d9b6f5519f4e8f8f7d4cfa165e9f13faf8c49e8fc84f784a9a0c9a11 Deleted: sha256:725bc7cd13e62e5024464fde80a9d1c5e3c3810850a36b08616aaac474c94e56 Deleted: sha256:04b46514c8cf60485667d3a32c914fe1b8467956919a37f11fba2dc7d845cd06 Deleted: sha256:a76dd9ccf72eac47877e5fcfeb393ae4f1b1703d2a1d2dcea110f593ae0abe88 Deleted: sha256:1558a211b8d13508212a1961e2192805701191afe8676571608fbc1a10bccad9 Deleted: sha256:c09ba38fb8e2f577386737abf982c5e3183287c61065db1220c1cc520ab1f145 Deleted: sha256:c9f1f90631d19e54952b7202d7b6a31cf5a7a163b32b7e3d6727caebf8a199b0 Deleted: sha256:3a58d5beada5c130cf856b2e3c643544a88d82459614e59b573c1e6e5e8dfb8f Deleted: sha256:33b4b00b025fe5cdf502cb2616f2253b88e35236368004de4d1a79134661a6f4 Deleted: sha256:a4ebb7598c73da4efa31976e2442d8ed9039273d63cf291c1904574b28cbc6b0 Deleted: sha256:46f10f4c36e379caed02db82b295d4ddd330219701a6c2fa4f502a3c019ba32b Deleted: sha256:61bac3f3f65fb6f81ef236f189dc55211aea1ac1f4ac38a4b9db15c3077cb544 Deleted: sha256:f8a0d699f26b22eaf5273254ccdf0aa8f7132bbadf605d64553f71eb29be06c2 Deleted: sha256:fc84a00e0bee850696916d64590d80789b20dcf7385083804730afc5bf778e0b Deleted: sha256:9f40fc6e6296a483fbe01bd4b2a865c26d385391487f1d469f2645a0f6f11f7a Deleted: sha256:8dcbabb1245ef2bbacc5c95dd093eae81770aa9fa3d8ba2b5939eb7b3a096508 Deleted: sha256:7d5c0cf97eb363dcbe2fa33f230fb1e73f0fb4ae094e17dfbd6b54e8d5712d72 Deleted: sha256:c0802c6080a1222daf53b39f94c1946c9f2942947d6051a5f380d2318f1b9b50 Deleted: sha256:6d735ff35b9d7cc81176e7854fef8b2e9a2c01ec70fff215c1283be67f3532ee Deleted: sha256:18d528031bade9c4611cc543ca2844db95080f9b9136e1fa1e6f3fa4630964b0 Deleted: sha256:8cbc95e0e1e1b3b155cc3a899c9a920d92bf93f68ef4da1bb11923736efbbbe6 Deleted: sha256:91ceccbd7f5796177f5badb0533e834b120b7331c41d3a034a79c5f81fd4b2a3 Deleted: sha256:f6409ca6dcbcf82ec78cc7c130384044ca53909f0f43e2b3c9287fecbbed7845 Deleted: sha256:088fc387a80cc13dcb582654e2c7f78839b3cd587faa88bc77e5224896b9d0e4 Deleted: sha256:5f203fea22305bb0c2f6b76d9c304dd969f6e949babc65179fa559c93978bddb Deleted: sha256:4670df431d46cb13b1a33ec178866f6b98c9de65da349d9fd8e632d0907d4d10 Deleted: sha256:a75cc7b7429fd6bcd3538ae66f9583d4cfafd9e6a94c6b0d5f58ff8596f0ba29 Deleted: sha256:31efab4c6a1734476f098ed1e106cb8f74cc0df74b6260c8620b5c77524b351e Deleted: sha256:ba0dabadb442af2b4947d4a249135d48ac90fdcb33449fe13281d9a91db9cd23 Deleted: sha256:315205f74ccd3a25130f478dccca55e8f024db05d57a4de6b4951ccc92bc7682 Deleted: sha256:6bc7ea7b81cdd6e5be68d99553563713f611eaaafabaf469bef25b47a466f549 Deleted: sha256:9f972fec5e1f9a6c8bab30e8a5bdcd7400c0b3dcd9f192f4adb66b7bc464bbdc Deleted: sha256:79b4eaecc1694e1cb87b1f7edfaaa23593863df057139ad1f0d34944497fbd33 Deleted: sha256:429c25350e2c538933eef091f91dce9f77d66a27ec9a9d5b048f006caba8fb41 Deleted: sha256:67456e134c51c33557088767a241f2511785521cda782d3126c2fefd5d9827e5 Deleted: sha256:f0e359ed75c9365e522cb6098cbf68d5abe4bc26ce5673133a58fffff2065c8e Deleted: sha256:b08789e25275ea9c778682e0ad3500eb76fe22f1018a45c49e18223e20e481fd Deleted: sha256:6d919aa05143a295af3ad30bfe2036b5e8946e4932878884c5fec5b5314087d5 Deleted: sha256:fc13e3b6b6e9b6ecd2daec49147c2602130cfe5697778e939bde82bd1a79ec9c Deleted: sha256:1aa59da0007ffd20c07f4fb2d4276ffdb1349a31f2b8f28007243ffb6b86f05d Deleted: sha256:d050c7749e619bfe581604a9d0da12d27d74ec8573a1f996a212f34850e4cf29 Deleted: sha256:956213ac484df76c162789a8578a343bd57cce2e0ec412ddb18efdd02b921f26 Deleted: sha256:24eff50049989ee31a552d740f04483d9597cb45a3234563df007e5209d4237a Deleted: sha256:b98ffe5772f2213833d442db3fccc74c09b50e527170c2d76138b56963aaa924 Deleted: sha256:73d5b7a6433726ff97ca71f222ec83d94933a6b42dcd8c334300df56c7f1b6c5 Deleted: sha256:5fc0826ed894618b4d12525eaef1e58c52895436a2958af0e8a430923cad3af5 Deleted: sha256:bef2a6e88f920cb702e6e774c8cd9ce9957d5d2eb74917deb7f1e6fb81efb405 Deleted: sha256:6c4f39d17a6159601c79f4644fdc2647163ba8375fd68407c1cca4e65c429393 Deleted: sha256:ebc5966260e1a24a463687476a226a7ec1535b74f6c03c3b579aaed6ce053dc6 Deleted: sha256:f2b26ce7d732a7a47ae008ddbb70b57a342ef9b9b732f5bdec5bc3555e138592 Deleted: sha256:7b05a9d0a9121304ea89f4d7abbd7b3999fcef74586ebedae116ddde82aa35fb Deleted: sha256:96594ff98d9d2d81103749048aeaa21f8caf2d1f0d0bf1758178cdb96f386525 Deleted: sha256:a4eed8fa21b3e03f2b75c4c5c6a6a3436f23a303895f45d1d6c85d9097840903 Deleted: sha256:227595cfa77a4f89345c1b483d520bf705e8a388b48901b05d1fd6c0753698e3 Deleted: sha256:cb29233f538c4182d9d5ef1924061412ddc6b2ead06f412f2df1d5a0ed6f3ae0 Deleted: sha256:a0c7147595fb711d65359dd6946f7cc661fd8a1c7495466e7c9a9950425631ff Deleted: sha256:1de5ee13135bb9eb6b07e67e8e27c0e5e4f9e8622e2fd559a77ee7f35260bca4 Deleted: sha256:222df394134a4495a22be0b2d32af8b0f5a03860829fe249ebd72a4214dc1b06 Deleted: sha256:b143f62408fc3f989bc16fa034f17b24db6c7f4851eb4d9d204d9c153a52370a Deleted: sha256:2f48da53161824c58b1d514188087d607f23411a184a02861752b52896504d97 Deleted: sha256:997cbc6778bac4b1776678adcfddbae317d69325f7bb38d18458141c1403b5b3 Deleted: sha256:6cec63069ee3065f8198f5a00e3907fed9f1c595bf5c29da2c46f0d50cb6053d Deleted: sha256:8cd1a169fcefede0178f540d742877aa9905138e0291fa7f08b658b5a9db84ac Deleted: sha256:e17d5bb798c391c72b5bf3f4774d35acd1d7e4808b6b3a322794b7b13e25a649 Deleted: sha256:d8a97cd8f47bc4f7153f2a83061a5e107c43b9e0c4ece1899ddfbd2c17985ae4 Deleted: sha256:91337996f718fa1a6a90dd49693d6ef58f982d25d1a9aac5db44fb3958537aad Deleted: sha256:80f4cf0d52c4caddac38dd7d4e9a48290aea441f75e10151f7f5dcd37619b85e Deleted: sha256:9b592d3b3710ced6e39ad310947e2f03146e287ce6799525c6d5b659c7edcd89 Deleted: sha256:e35615e5fda24757cfa4f91cadf019c337e4962e0726450de18cb019f36679e9 Deleted: sha256:8426908b78f89e912ffd617a11740cf565c88dcde85c8f3035f9864fd92fad96 Deleted: sha256:cd0bd9c41b7be23357e7089683134b8b5c2df720a8cc197079d737cd628cc5d5 Deleted: sha256:10c8b49ba4d5365a91cf23614f7105600630ef4622df517336fb3a383dff74cd Deleted: sha256:87ccf9db89be10284b8252891239d85e2214db85974413ff2431ca4eede5e6e6 Deleted: sha256:894b80efcbc9c1dcc4246b83e77ccb2302646002dd42c22cec5ddccadcedbaa8 Deleted: sha256:64b56a3402a4f1140436ba0bea0676d17cb483ca53f9078ef1490ab3dc174ee2 Deleted: sha256:029266a9b967420ea4bc929c92c925fe2fae099ac4dc7c148a846b69f86a92eb Deleted: sha256:91c3d84ee9d8a74dd53442c8ff37571506e22a011d5b533e9132d4ee528f0fdb Deleted: sha256:763f3e167162a28c44ec8a7d52b6661df55d98ad0fe96c0ff34f24dd142d2dd5 Deleted: sha256:6ad22141ad01d5f895bcc25d4827292120fa06887b2d95eda9e600d46fd52654 Deleted: sha256:71e6b9c1401935299f664a8f5eca6be29ea93530b39672d70540f53102c8f053 Deleted: sha256:6c9f19b03552505a333222c6fdd8f6824e63a4dad9081fe77c4138979358717a Deleted: sha256:86de8b13ce21254754b3e50f0b78b10f1e2e7f718f6c25cd9fcf34a4f356f563 Deleted: sha256:314f96a4e558202d50104558b0f6b4fd40ec4a47206b2067da9b3288627f6e71 Deleted: sha256:c4a1872467be0d8ef31d8a5d58df421cdaaaf123d4a6bff38a4253fb17dfe91f Deleted: sha256:7df0031bdcb68bbd0c38c7bc8773320c3a234b4106768941a139f5d285f430cd Deleted: sha256:4b6b85da40803a780007b5abde2d4c5834d4a81f29fe900da82045291e164e43 Deleted: sha256:5d22bc657027a6e3baff7378972513276f01975d3325dca3829f0e48f1907872 Deleted: sha256:8bcb380bcf5e6b20bce6fd7ca5f234a53d4ffa9adba27570527964f5e8768ab6 Deleted: sha256:4fe0a35fe3812e5d491b728b24edd5388b5122ebc0f11c1d47b8dee0bd76f28e Deleted: sha256:5a5b3f650024c49220b2d293cf767f0d4b450611fd8e6ffd1b5a8eb4c077e274 Deleted: sha256:008d1db2028c144b8b9ff7c6da725ba2458712306a8b8bd2a1d5793754829089 Deleted: sha256:8f5f2a8e8bf29c6b4e51d3463c91adcdb7f706e11e8fe621c41f8a5911a6ac1a Deleted: sha256:73b4c23a3553d0c20209c3c251f5363c758303a94044613fd2756e295efad3b7 Deleted: sha256:3a6f56a2d735de8ef6c8358ee817f45b1bc4346df3a4f45119b999273cc7ddea Deleted: sha256:53b329bef887892f6c6889147111bb53e9aaefeae29eea5a2f41d55e0cea3f54 Deleted: sha256:5b562e17eb6624cd1bd5c327250708aa1886434c23de16d04e044ea5fe22eeb8 Deleted: sha256:2f3caa92f0783406e761435f08b9cb54793b0be3edc31547416e47e5733388f2 Deleted: sha256:4cd74029dc90fd4b04b9666561e08a5ab5360514aabb07bea5f6065f3208d326 Deleted: sha256:5966118631bc023f219c7c3acf48345c2d98ef89c2c002a5baeeb2e417da850b Deleted: sha256:ee47118952193c59d30314f6926e68ec2439afee05029bab79b0528cdd5169b4 Deleted: sha256:2231e60e35a32dd9db4fe83881fbe82dbebf89bda0f119105aa24b7108e51128 Deleted: sha256:7dbec08ac3601c0bc20e1e94f04fad87ca9551e4e1a1f7459e469450a8dc77fa Deleted: sha256:65bcf6ec3efaf0a490507a26cfe3e4ab20dbbaadc23656a495e787fd4874e3a7 Deleted: sha256:28353665fa73a6c7bf7c373ab7ea1c03dbce5981312428ceb52fbba4270b2953 Deleted: sha256:baea37863552eb2f5a1844aeb617f4017805749ca206083b9255eaf5141dda9c Deleted: sha256:d2fee292e6bd1baa34e472e3dfcbc7b630ab1341559e3bcbf5f6efe7a2499586 Deleted: sha256:bcf288ac1d9dfc5a6ec3e71e0ebfbc1189f903c89c6c8b4a731217f55b97ca35 Deleted: sha256:231b8c2931d491d9394d456f3d44d9c6e4a3146d5ca149197952ae6f70de703f Deleted: sha256:8131b7e63f8a6a587263d565f999b2e07c8668a197beece407e00f548a4d3253 Deleted: sha256:abb0947347fb2f32ec0ec6959b4e8d2672da24c4d7e332fa63d3892b315e5889 Deleted: sha256:f2b29f71b29e419157bbe2196f68156546a969b4c22c0ee20656a275be182ac7 Deleted: sha256:62a6f80163d769f93bcdd940c6ddf005143e53dbba280541e6ba91e46d384af6 Deleted: sha256:dd1fbfed69801185a27081493c099d266dda6251b5f439456b78164774493784 Deleted: sha256:22f938ea23d3b73fa5a07a9546948dbe5bd0f7a0f93d3b32d31464242d75c781 Deleted: sha256:542165d9aee58288e423c152db51c3020e26c26392865cea205314193a711912 Deleted: sha256:a12ba2784025069939541a435857b7048a43d54ed2a751bd305f919ce982c176 Deleted: sha256:3d82d75c242452d5ff132aa0101b885e0c77d34dd61f160ed7200db4cac1a286 Deleted: sha256:b8d1b78a8925d7dccd1619749faff3b6f7cdbc9c75debf37461b5ed9d44717fd Deleted: sha256:271c69e519c33aed12361c99db0fa7a90e18af1c214dab11b73f02db8fa53ff4 Deleted: sha256:c59ccac72553b5fa895a9792b7dfd5248072b293b6e36422c0f1c64c5387c483 Deleted: sha256:0f1bf0349344c5f75075b1cbb522a4f5f6c040e0020be9c0603815d4b5d61553 Deleted: sha256:daf7f5338efa6e5d863564aa5b3c8741cd131118551c209302821baee3f272c6 Deleted: sha256:349072dda9d84a14c3d1d9ca9280296652b499fdb37cfe49b70717320f91bfaf Deleted: sha256:c8f353f07b4520ab23f521b5e49b60269f8e693a48c9929f992e80ed350ce674 Deleted: sha256:731f7104fb06dbda36c88f649e3541021542e1d928e87baecc7559542cce5c0f Deleted: sha256:89ead8b8a2dd770c60d8ad60a3ea5a6b09265634bad5af0636cf3c32024b1303 Deleted: sha256:70429dd9da555eadbff339ab8145f90d078ca917ed7621b0be534a96dcf70d02 Deleted: sha256:cd53dee6b6d6174036519ea48a4bd70d55ced35a25fceba932efd34b31c6849e Deleted: sha256:13c6dcca56ac71fc3af0963795704fa6a1467c1ba5b6b6a372529fc5d6cfb727 Deleted: sha256:474cc5e525ebe79a6db3d2efb941e43cf327c1d740debab9e78c8b9210d50df8 Deleted: sha256:e0d316066f9541d6b9c667d4a7897c13ac07e4d521da195f2c40433b16f13f53 Deleted: sha256:fe3df35c6d117256f14825998feb2d8b98996504f97651905293d2cdc1a0e890 Deleted: sha256:272de0acdf2b2b66fcaec0dad7c25d8e49174d56d0e0232f2f3a5f1b3a78029d Deleted: sha256:545a99463fc263f547b8f993e501f0a40106683a9f7bfd4f589f269a78b104d0 Deleted: sha256:d899289d1f4d2e6f7a80774d4608d9185dc34dc2e512893e5a6b6c2c85f5da95 Deleted: sha256:93d4e7d57886ce747738c26581ee49f0f82eca6b3e1dd90842649f0500fffa72 Deleted: sha256:616146c5912857c5a90ab35b323eb9e31da835abdb4d58c3f700702e8c55f4a3 Deleted: sha256:04660741b6ca5dd4769bdcc676903721d5bea82f6579d14265c1b0f334d6c571 Deleted: sha256:46e8f8ccc9bf6aedff3c80f2869042462c0adedc6e14cf618bb82fa777822b29 Deleted: sha256:1144f4b4b64a96533a7935bf4a5fe134cd67488d1f5fb40436ea3a83884ef8d4 Deleted: sha256:cf9d6f0af75e6ed9c3fe65f3f3f9ed937acebc002b1c12459ac9a278f73965c5 Deleted: sha256:2023ba01585ed5b8be6e4ff45de0f43443abca9dff0702fc12925737970617d6 Deleted: sha256:18ca86d3756c5354eaef5f30b4ac15f04a5e4fd455f6ca50440284f115170d9e Deleted: sha256:77cf8db91270ab5f8f5b6b82d475762177918c0268f64cfe7ed568ea178cfb37 Deleted: sha256:6e6c6f39329194a83aecc1ed0ccc0ca70acfc39a9571012152d1dd3f574b2137 Deleted: sha256:fc4f6d7df21633fd7fffb55b9a13d197b24ac3026f043bedcb3a905971d109de Deleted: sha256:d4aeaf6daf03f5b0ebff06d60a9c0475398197ccefbb1a17ff6071469c757fac Deleted: sha256:4ade56a6dca9a1f08e6f982d37733ffdfbe090d075849f4fba8720df27ddbc95 Deleted: sha256:ad7cae8464efc8a4cd7a787873ee17d90df72cd650adbd8b360adcde7ea2467f Deleted: sha256:d728079150bde32efce88865fa230ae0e389b01efd7995b57dc838d7846803b7 Deleted: sha256:11d3406fcc75595721fdc99c16cd53d2673e86658b737fe92270cdf62004a2a3 Deleted: sha256:72559dede07b54ef12fc14019be696b9a521ea712730f8dcfccfbea79293362a Deleted: sha256:5ef620c8d918438f397c3d4c64a6ae54f36a4e409b45dc1681b7251f771b7f20 Deleted: sha256:b109280d2b66dd99e74fd5cc71075e86dfbd397355989669facb498b9549b70b Deleted: sha256:c9243e30558ceb0960091763fdb3bdab3327ce73306a25beae7a26f7b9d46c35 Deleted: sha256:9015f1176ad9eb1aeffe0d6f7e1bc380a4beda13416e505ab6ce8f175793f0af Deleted: sha256:e163408c34a2385a8ddcc7fa8ea39c7eaf3417738c9d8679773556fabffc3969 Deleted: sha256:8cdba995850c69149c8dfd960a51b8f4030540debcb8c3588e4de3fa2e1fc770 Deleted: sha256:1efc8cb3572204259d5d6a9faeb61ae96b6e30a4a8a3d37e31916c7adc295391 Deleted: sha256:ed52f710cc09e982f6615cf4019c14309a7333402a122c8845bba5d28abeca12 Deleted: sha256:08b9dc9ebccbb5b7d7bc60214e0fcc2bfbdce764c2453c7ba30db6ef129511ff Deleted: sha256:a5c0c1231c07819a904694fe295a4b493dfa63bd01863e348f96208b3095d5c0 Deleted: sha256:012172e004356b38458040ac07b690d575b4b24da1648382464265b124a2ffd9 Deleted: sha256:5b19b80bab2013de538cb380a0fdcea556767da6fb77da7ed18b6feaab7cbb99 Deleted: sha256:c49d3bee7fc5752bc41ee96f552da7f74aa1e382d145f12f970cdc6af9bdcdb7 Deleted: sha256:b7587dee0986c55da92e7c16209e21fde1a3c2dd75f43d73a66fb2cf48d7bd1c Deleted: sha256:975ff1b493b5e99e8a26115241ba3abf8b985137efe8e32559887ad6d6b8a5e1 Deleted: sha256:fd3f19fd2b62aad81a8fd664e8f9183d8e918d008ef71a410221813a896d2645 Deleted: sha256:022c8d86cb58dfa9625652aeac3cf143735dfd854e8fecbee1c2ed064317e516 Deleted: sha256:9aa218007e4b5664eb648b62b227d2fc1644975ec948767eb6e36ace4988f8f7 Deleted: sha256:ad2d3f7bd4c5f7c2c70cd27b6fac8b727cd470214db3794883c7775bf42921cc Deleted: sha256:4bf973e8c3ef99c0095071fb978bd469d55ed555e34f1953fedbdd0855c3921f Deleted: sha256:8f67e47383bd43eaec17ee891d11ff383ae3f12ddfde725634f54a4cac423201 Deleted: sha256:b21f66196f0f4892ea189a357d91e835365f5021671e27f9cf42bd12c1c94896 Deleted: sha256:fbe7a1c80c569a2645860b4f2ceedba110805e688d4010e4d7db0c902a3dc5c8 Deleted: sha256:e8a89901d9bdaf53535014bb09e42e1ab1e03aca4dc84fe868be179133e9c652 Deleted: sha256:e028006dcc664ae574853805b4e48ff8c059d51746451d503d315de50ef039f3 Deleted: sha256:a70b8d11170d988c5ebf76a9a9e36e5d7878ad3cf296f8e5c2eb9c4615e2ca54 Deleted: sha256:8dc1ce30c825a566fb2c136f49e1aed41aa0414bb05dbbeaf450435d8efe07f3 Deleted: sha256:f0bfb68eff1a9e35349c267c8367d9361d0862c5886616fb8b9356a6f92f8339 Deleted: sha256:83f3ba2ec199970296033fbf0319f05393465f1b22413bb7bdd0cbd9fcdeb6fd Deleted: sha256:4b0f13112b60c399b57f7e6785fea9a87151cdf597f46f2a68ab03b744f65ad6 Deleted: sha256:711bcbc0a32452e05b9543d29ff81c813ff7765337b25c88f41f535c3404c513 Deleted: sha256:c4360bb7739f4546301dd2c2e4a275b8902493069f28cc18e52bb6ecb4b09809 Deleted: sha256:0e69e3d132f6a50f8c821f1372ffd43a2b84e5723b01772c9da6c65f973dccf8 Deleted: sha256:e6fef2a3c2db3d78e89d00a0ea404ee58235b89d7aa26b8350fab707ed32f027 Deleted: sha256:a5d3923af2d010f802afe46fe6b7273e7c069a46357bcbb88e6ed4dab48f5a2b Deleted: sha256:9a800b0be2911e803bfb1655a46402dc83252daea4d5575643d3dfb55cb05db4 Deleted: sha256:53a467136cfa8758d0b7d6c23554e96e82d41e8768057f38ab524b3d3047a004 Deleted: sha256:6dfbbf79ad7b97e1f03992f2caf6c12a2126895d6eaff943dcba686b12825408 Deleted: sha256:176cb03c0929767eca56aac3fbf30b1ac5839829607108638ba26a88480a2a9c Deleted: sha256:f9310f97d6c62cbd7121736ce9067c0fb33554ab8095585ab626298ec9451d08 Deleted: sha256:8777055bad8ffc6ee43a82c01ef2df9c0928809c6e9c33b13b945d96be5c4a81 Deleted: sha256:ce2f54e6acc015ed92c04b730c8a2c0bd1b1f8d02bc1f349899b165cbaea370f Deleted: sha256:6911709e63989176cb0d48f0370d9f5473ff3d90e79f6461cf36c9a04227589f Deleted: sha256:69c2a41eef936d303ed0c6a143b332824beadddeff51aa226b2ef87ee6c5e36b Deleted: sha256:d15398b050325c436b554ea3601bc927e958ffba02c8645bdd048db3568bad80 Deleted: sha256:c937e388e90e9c94dad91194c5428f9bdd35801fee49ea412abaca89c12cbd41 Deleted: sha256:c9f704bc1be68cbf30113c65a01afc9e5f4a1a7650b7ae01144ed12b82b0d811 Deleted: sha256:b1cf9184b113419e06c197146eb6b81f276a6ed8b2a2e158f11e0127ad0d8bc1 Deleted: sha256:87dae5cc55358c7c5c5c0db0fade00c70a40c8efa3035e75400cc085cce30b06 Deleted: sha256:986746cd443fb692265d32aab560fabc33fff4b999a7df39054f9418322ef28f Deleted: sha256:9e9850c04d96d34b5ab9923f7be5623302104b63f946267dbbcd59b31c91c094 Deleted: sha256:075187791efc2a456127e2d344a3df2226ccb9d1a143c12c8e316beaf86c7cc1 Deleted: sha256:756fbb10728c034eb3ec85323428692bb2767c9fd84492c1b606900dac054e94 Deleted: sha256:f56e217e0a2cea7e1e43bdceb1c220e5c3c918be7320c2a25627dc27704acc8e Deleted: sha256:b450d29024a8fec42797c7be7e2796406f81a11253b48d2dfd3b77be0a859466 Deleted: sha256:af629ca0dc821a68a9dd9f2dad7cdca3fa49547d154537bd6ed456473a6fb309 Deleted: sha256:517d9efdf25ec8f080fa229ac0d2d2132316c14b325051c9586af6e792e6aba1 Deleted: sha256:76d0f21c9afc05d267d4a8dfd96e4816a0cd79874d0f2a0345c07b7fa12f6e80 Deleted: sha256:8ade8acb842b6e013cff8cd3e08e1a4a60a3de991ecb4b6a06411a72336e690d Deleted: sha256:9f18d406e15741e125809ba3b733513cb25739eef449455a9ca8544f694c75ef Deleted: sha256:d7191b508f8b3deccd6d9e13b9bd83befb34b4f4ab565cd41fd64a9a020e06ea Deleted: sha256:6bb0687cc2ec4fe40885c290866f2d4eab4dd1c6f6ff3531a02210cd2e978ea3 Deleted: sha256:dd658465f74f79151937f58c7d524d86b0e7334d03e91ae43d19c62f0c2faf74 Deleted: sha256:2f44d93175fd23bb1286694ea3c8866bf82353cd6ded76239c3ad9689afd8b70 Deleted: sha256:db328ea0eea5a23448bee4b202f3c202973d84d254f894b5cc0fb8c85ad5fdc6 Deleted: sha256:da7b0306b1cdb2fdbd4dd34feca411422e058b22a8bfdf31e547812dde637da6 Deleted: sha256:0d1a8997a2c1723eafdf57bdd42475002d1b428683c9b94eb439db89c1ba376e Deleted: sha256:f35532101e259c206c09f1665f2cd59deae40da81119d725cbd639ce69c32a9a Deleted: sha256:c709ff711221ec1ce4f5c074585b64eb728a7b6129fdd743550979f1dd0aabe1 Deleted: sha256:cbe1cb9576e2f9bd3fd12b62710709b006a3a2ee2fe393fd3d384c7e159bce75 Deleted: sha256:432e46f1cfd965f7d5b57d2bbdd5a3d75cfcb817be97495d0eee34f665ac87b6 Deleted: sha256:384ae7b83edb7092ab46924af9d3ef98bebb176f9751de07d7dd85da1ba24069 Deleted: sha256:a657ff9d1f110700458002fcee114a9b681b0370a763963e861671dbcf6f2aa3 Deleted: sha256:a9c6a14d296f4c98b993b916a9c2d4aaa436e11ecdd5fd2a06047e4c3799be29 Deleted: sha256:3a2b91f34955bb7ff42b765af2c19e572d3b50059f96bca9d05965d99d91ab54 Deleted: sha256:8c443c4eebdaf89d214ade494fe1ff8be7bf28da0b4a8589f003e45c2a94357f Deleted: sha256:8b22a821b2811929f3c4f3d33a22945573e404b8a2b50b8a1ba5bcdeeaa64eb4 Deleted: sha256:bbb475b1c9fc8ed6ed203961c74b6032b58ba9dd9528363eb13cc56a3aded76e Deleted: sha256:ca0b36c5c37c2010c18860eadfd2ea5a87f40641e8cd51c78dd51eb2358c4772 Deleted: sha256:a63613a8bf1fb5d54243474e0c0073546386f08f8f1ae9f1bfb537a22efcbff5 Deleted: sha256:3a0b10e5a436895bed5075177b916b66e92f505275fd946fc7c3548c0fe20d7b Error response from daemon: conflict: unable to delete 907ad27b6cfb (must be forced) - image is being used by stopped container a5f863eed5fd Error response from daemon: conflict: unable to delete a4998c72e8b1 (must be forced) - image is being used by stopped container 55c19c535d66 Error response from daemon: conflict: unable to delete 5c1687687da1 (must be forced) - image is being used by stopped container dd0eb4d54adc Error response from daemon: conflict: unable to delete a4b2d18cc3be (must be forced) - image is being used by stopped container 0eefd59776bf $ for i in `sudo docker ps -aq`; do > sudo docker container rm $i > done b3434b5eb935 Error response from daemon: You cannot remove a running container efa600e4e36be8fc8b87a957ba9e3a8a1910dba9de38187ea3bdbf35652dd692. Stop the container before attempting removal or force remove 88695642d5e4 caa109bbf57e 397d97816a72 a8ade6183682 3c12153021d7 a5f863eed5fd 069b8177a669 55c19c535d66 dd0eb4d54adc 0eefd59776bf容量確認したらスッキリ!!!
$ sudo docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 10 1 4.226GB 3.68GB (87%) Containers 1 1 7B 0B (0%) Local Volumes 5 0 0B 0B Build Cache 0 0 0B 0B普通にビルドできた。
- 投稿日:2020-07-21T14:39:18+09:00
rails6 webpacker4 を本番環境で起動する
[github]
https://github.com/uechikohei/SkateSpotSearch[docker-compose-pro.yml]ファイルを使用してproduction環境で起動docker-compose -f docker-compose-pro.yml up --builddocker-compose -f docker-compose-pro.yml run app bash bin/webpackdocker-compose downdocker-compose -f docker-compose-pro.yml up
- 投稿日:2020-07-21T12:03:40+09:00
【Docker】exec形式とshell形式
DockerのENTRYPOINTとかCMD書くときの形式ってどうすればいいのか
Dockerfileのリファレンスでは
exec形式
が推奨されている。
shell形式とexec形式の違いシェル形式
/bin/sh -c "コマンド 引数1 引数2"
として実行されるshell形式RUN bundle exec rails assets:precompile
exec形式
コマンドを直接(シェルを通さず)実行
。コマンドや引数を囲むときのシングルクォートは使えない
。exec形式CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] # シェルで実行したい場合には(パイプ等が使用できる) CMD ["ash", "-c", "bundle exec rails server -b 0.0.0.0"]
- 投稿日:2020-07-21T12:02:26+09:00
VSCodeのRemote-ContainerでReact(Node.js+TypeScript)環境をサクッと構築する。
環境構築はDockerで作りたい。
Dockerに慣れてくると何でもDockerを使いたくなりませか?
僕はそんな人間の一人で、パソコンを買い換えてDockerを本格的に使い始めてから、手元の環境が汚れるのが嫌で環境構築は全てDockerを使っています。潔癖症かな?今回は、VSCodeでDockerを使い倒すための神拡張機能のRemote-Containersを使って、JavaScriptのライブラリのReactの開発環境を作っていきます。
事前に準備が必要なもの
- Docker
- VSCode
Remote-Containersを使って環境を作る
事前にDockerがインストールされているものとします。
拡張機能のDockerとRemote-Containers をインストールします。
適当なフォルダを開いて、コマンドパレットから
Remote-Containers:Add Development Containers Configuration Files
を選択。
インストールしたい環境のサンプルが表示されるので、Show All Definitionsを選択し、
最新版であるNode.js 14 & TypeScriptを選択。
そうすると.devcontainerフォルダが生成され、中にはMS社が用意してくれた指定した環境のDockerFileと追加設定を行うdevcontainer.jsonが保存されています。
Reactを利用するにはコマンドラインツールのcreate-react-appを使うのがラクチンなので、これをnpmでインストールする設定をDockerFileに追記しておきます。
また、コンテナ側の3000番ポートを使用することになるので、devcontinaer.jsonファイルにフォワードポートの設定を追記します。
最後にこれらのファイルを元にDockerイメージとコンテナを生成します。拡張機能からRemote-Containers:Rebuild and Reopen in Container 実行。
(または右下に出てるであろうポップアップをクリック)
画面が一度閉じ、再び開いたあと少し待つと、VScodeの左下がコンテナの中に入っていることを示す状態に変わっていると思います。
これでReactの環境は完成です。簡単!
実際に動かしてみる
create-react-appを実際に使って、サンプルアプリを動かしてみます。
ターミナルを開いて、
# npx create-react-app test
を実行。必要なライブラリ一式がダウンロードされていきます。
Happy hacking!の文字が出たら完了です。
testディレクトリが作成されており、中にはReactを動かすためのテンプレート になるファイルが生成されています。
こいつを動かしてみます。
# cd/test //カレントディレクトリを移動 # npm start //アプリを起動アプリを起動したらlocalhost:3000にアクセス。下記のような画面が表示されていたら成功です!
コンテナから抜けるには、VSCodeの画面を閉じるだけでコンテナOKです。
再びコンテナに入るには、VSCodeのDockerのオプションからお目当てのコンテナを右クリックして、Startをクリック。
そうするとコンテナが立ち上がるので、もう一度右クリックしてAttach Visual Studio Codeをクリックして完了です。
それでは、良いDocker & Reactライフを!
- 投稿日:2020-07-21T11:45:24+09:00
Docker-composeの設定オプション - Docker Composeのための実践的な演習その1
このチュートリアルでは、Alibaba Cloud上でコンテナを扱う際にDocker Composeを使用して実践的な経験を積むことに焦点を当てています。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
前提条件
すでに最新バージョンのDockerがインストールされているサーバー/VPSにアクセスする必要があります。このチュートリアルでは、CentOSとDockerでAlibaba Cloud Elastic Compute Service (ECS)インスタンスを使用します。
このチュートリアルに従うために大規模なインスタンスを購入する必要はありません。後のチュートリアルで6つのコンテナの大群を実行している場合でも、合計512MBのRAMしかないサーバーが必要になります。
このチュートリアルでは CentOS を使用していますが、Debian や Ubuntu を使用することもできます。このチュートリアルの大部分はDocker Composeコマンドを使用しているので、どのようなLinuxディストリビューションでも動作します。
Docker、イメージ、コンテナ、そしてdocker-composeとdocker ps -aの使用について、非常に基本的な理解が必要です。docker-composeの概念を大まかに理解するためには、3回くらいはdocker-composeを使ったことがある必要があります。
このチュートリアルの目的は、非常に簡単なdocker-composeファイルをいくつか作成することです。使っていくうちに、Docker-composeの概念の理解が深まっていくでしょう。
クリーンアップの準備
コンテナをいくつか(できれば何も実行していない)だけ実行している場合は、本当に役立つでしょう。そうすれば、docker ps -a の出力リストから簡単にチュートリアルコンテナを見つけることができます。
そこで、コンテナを停止し、docker-compose upで作成されたコンテナを削除します。
(何も持っていない場合はこのステップをスキップしてください)
docker-compose down -t 0 --remove-orphansそこで、実行する必要のないコンテナをすべて停止してプルーニングしてください。
(開発環境で)これを素早く行うには、以下のようにします。
docker stop $(docker ps -a -q) #stop all containersすべてのコンテナを削除するには、次のように実行します。
docker rm -f $(docker ps -a -q) # remove ALL containersディレクトリとエディタを分ける
docker-compose のファイルは別のディレクトリに置いた方が良いでしょう。docker-composeサービス/スタックまたはスウォームごとに1つのディレクトリを作成します: 整然とした、整理された、小さく、効率的で、これらの属性のために完全に理解しやすいです。
したがって、入力します。
mkdir compose-tuts cd compose-tutsLinuxディストロでよく使われているエディタにはvimとnanoの2つがあります。私は nano の方が好きですが、vim でも十分に動作します。
nanoをインストールするには
Debian / Ubuntu .
apt install nanoCentOS .
yum install nanoNanoビギナーズガイド:
* nano filename-to-edit ... this starts the nano editor * cursor keys move around as expected * cut tutorials text from alibaba tutorials web pages work as expected * pasting into your docker-compose file work as expected * press F3 to save your work * press F2 to exit the editor.以上、docker-composeのチュートリアル5つすべてにnanoを使うために知っておくべきことを紹介しました。
イメージ
これはDockerfilesのimageと同じように動作します。image はコンテナをビルドするイメージを指定します。
以下の演習ではこれを使っています。
tmpfs
引用元: https://docs.docker.com/compose/compose-file/#tmpfs
tmpfs はコンテナ内の(RAM内の)一時ファイルシステムをマウントします。それは単一の値でもリストでも構いません。2つの一時ファイルシステムのリストを使ってデモをしてみましょう。
以下の内容を docker-compose.yml に追加します。
nano docker-compose.ymlversion: "3.7" services: alpine: image: alpine:3.8 command: sleep 600 tmpfs: - /my-run:size=10M - /my-app-tmp:size=20Mdocker-compose up は、docker-compose.yml ファイルに定義されているサービスを起動します。
docker exec は実行中のコンテナに入ります。実行してください。
docker-compose up -d -t 0 docker exec -it compose-tuts_alpine_1 /bin/sh2つのテンポラリファイルシステムのサイズを確認する必要があります。
/ # df -h /my* Filesystem Size Used Available Use% Mounted on tmpfs 20.0M 0 20.0M 0% /my-app-tmp tmpfs 10.0M 0 10.0M 0% /my-run完璧です。ご希望のサイズで取り付けました。使用率はゼロです。
15Mのゼロを/my-runに書き込んでみます(サイズは10M)
/ # dd if=/dev/zero of=/my-run/output.dat bs=1M count=15 dd: writing '/my-run/output.dat': No space left on device 11+0 records in 10+0 records out / # echo $? 1dd コマンドはエラーを表示しませんが、*$? *は最後のコマンドの終了ステータスを表示します: この場合は 1 : エラーを意味します。
dfをもう一度実行してください。
/ # df -h /my* Filesystem Size Used Available Use% Mounted on tmpfs 20.0M 0 20.0M 0% /my-app-tmp tmpfs 10.0M 10.0M 0 100% /my-run/docker-compose は tmpfs を正しいサイズで作成することに成功し、期待通りに動作しています。
15Mのゼロを/my-app-tmp(サイズ20M)に書き込んでみましょう。
/ # dd if=/dev/zero of=/my-app-tmp/output.dat bs=1M count=15 15+0 records in 15+0 records out / # echo $? 0echo $? my-app-tmpが使用しているサイズを確認してみましょう。
/ # df -h /my* Filesystem Size Used Available Use% Mounted on tmpfs 20.0M 15.0M 5.0M 75% /my-app-tmp tmpfs 10.0M 10.0M 0 100% /my-run15Mを使用しています。完璧です。
コンテナ内で動作するアプリケーションに必要な正しいサイズのtmpfsを定義する方法がわかりました。
ddコマンドの詳細については、man ddを使用することができます。
ネタバレ: if = 入力ファイル、of = 出力ファイル、bs = ブロックサイズ。シンプルです。
env_file と環境
env_fileとenvironmentはコンテナに環境変数を追加します。
環境セクションで宣言された環境変数は env_file の値を上書きします。
ほぼすべての Linux アプリケーションは環境変数を持っているので、それをコンテナに注入する方法を知っておく必要があります。(私が知っている中で、これを必要としないアプリケーションは hello word アプリケーションだけです)
これがどのように動作するかを確認するために、いくつかの準備作業が必要です。
1、環境ファイルを作成します。
2、docker-compose でこれらのファイルを参照します。
3、環境変数が期待通りに定義されているかどうかを確認するために、/exec コンテナを入力します。
カレントディレクトリにあるこれらのファイルに以下の環境変数を追加します。myvars.env
ENV_VAR_A=1 ENV_VAR_B=10 ENV_VAR_C=apple ENV_VAR_F=CentOSmynewvars.env
ENV_VAR_A=2 ENV_VAR_C=pear ENV_VAR_D=Docker3番目のファイルについては、入力を節約するために、以下のテキストを切り取ってシェルプロンプトに貼り付けてください。
cat <<EOT >> mybestvars.env ENV_VAR_A=3 ENV_VAR_B=333 ENV_VAR_C=lemon ENV_VAR_E=Kubernetes EOT(catはすべてのENV行をmybestvars.envに送ります)
詳しくはこちらをご覧ください: https://www.tldp.org/LDP/abs/html/here-docs.html
似たような名前の変数がどのようにオーバーライドされるか、もうお分かりでしょうか?
docker-compose.yml に次のように追加します。
nano docker-compose.ymlversion: "3.7" services: alpine: image: alpine:3.8 command: sleep 600 env_file: - myvars.env - mynewvars.env - mybestvars.env environment: - ENV_VAR_A=42 - ENV_VAR_E=Apache web server実行します。
docker-compose up -d -t 0 docker exec -it compose-tuts_alpine_1 /bin/sh表示されているようにprintenvを実行します。
/ # printenv HOSTNAME=1c8abf6141ec SHLVL=1 HOME=/root TERM=xterm PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV_VAR_A=42 ENV_VAR_B=333 ENV_VAR_C=lemon PWD=/ ENV_VAR_D=Docker ENV_VAR_E=Apache web server ENV_VAR_F=CentOS / # exitそれらの値はどのようにして決定されたのでしょうか?
ENV_VAR_A=42 ... docker-compose ファイルの environment: の値。
環境: の値は、これら3つのファイルで設定されているすべての値を上書きします。ENV_VAR_B=333 ... the value from the last file: mybestvars.env ENV_VAR_C=lemon ... the value from the last file: mybestvars.env ENV_VAR_D=Docker ... value from mynewvars.env: never overridden anywhere ENV_VAR_E=Apache web server... the value from environment: in the docker-compose file. ENV_VAR_F=CentOS ... value from first file: myvars.env : never overridden anywhereこれが環境変数の仕組みです。後のファイルは、前のファイルにある同様の名前の変数を上書きします。しかし、docker-compose ファイルの environment: は 全てを上書きします。
これら3つのファイルはコンテナには存在しませんが、その内容は環境変数の中で生きています。
重要: HOSTシェルで作成した3つの環境ファイルは重要です。これらは docker-compose ファイルの一部であり、docker-compose ファイルと一緒にソース管理下に置いておく必要があります。
extra_hosts
extra_hosts は、コンテナ内の /etc/hosts ファイル内のホスト名とその ip アドレスをリンクします。
以下を docker-compose.yml に追加します。
nano docker-compose.ymlversion: "3.7" services: alpine: image: alpine:3.8 command: sleep 600 extra_hosts: - "myhost:123.242.195.42" - "myotherhost:150.31.209.42"実行します。
docker-compose up -d -t 0 docker exec -it compose-tuts_alpine_1 /bin/sh以下のコマンドを入力してください: ip r : ルーティングテーブルを表示し、cat /etc/hosts はhostsファイルの内容を表示します。
Dockerはコンテナがこれら2つの新しいホストを見つけられるようにするためにルーティングテーブルに何も追加しません。それは、/etc/hosts ファイルにこれら 2 つのマッピングを追加するだけです。
/ # ip r default via 172.22.0.1 dev eth0 172.22.0.0/16 dev eth0 scope link src 172.22.0.2 / # cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 123.242.195.42 myhost 150.31.209.42 myotherhost 172.22.0.2 024481ed6ce7 / # exitこれらのホスト名のマッピングは固定の IP アドレスのみを含むことができます。
最後のランダムなホスト名がこのコンテナのホスト名です。CONTAINER プロンプトで hostname コマンドを実行すると、これがホスト名として表示されます。
ヘルスチェック
Dockerfile のヘルスチェックに慣れているのであれば、docker-compose のヘルスチェックは簡単です。
docker-compose.ymlに以下を追加してください。
nano docker-compose.ymlversion: "3.7" services: alpine: image: alpine:3.8 command: sleep 600 healthcheck: test: exit 0 interval: 1s timeout: 1s retries: 3 start_period: 0s実行します。
docker-compose up -d -t 0 docker ps -aスピーディーなコンピュータを持っている場合は、このように表示されます:health checks ... still starting.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2979837d1a56 alpine:3.8 "sleep 600" 3 seconds ago Up 1 second (health: starting)遅いコンピュータ/サーバでは、正常にヘルスチェックを完了するまでにdocker ps -aコマンドを何度も実行しなければなりません。(healthy)
docker ps -a出力します。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d7ceefcc2ad2 alpine:3.8 "sleep 600" 6 seconds ago Up 4 seconds (healthy) compose-tuts_alpine_1docker-compose.ymlを編集して、10行目あたりを以下のように修正します。
test: exit 1これで、ヘルスチェックは完全に失敗します-エラー終了コード1。
再実行してください。
docker-compose up -d -t 0 docker ps -a docker ps -a docker ps -a数秒でわかるようになります:(unhealthy)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ed54a3189e7a alpine:3.8 "sleep 600" 6 seconds ago Up 5 seconds (unhealthy) compose-tuts_alpine_1アプリケーションに応じて、それぞれの特定のアプリケーションに適した正確なヘルスチェックを決定する必要があります。
また、適切な間隔とタイムアウト値を決定する必要があります。
両方とも 1 秒というのは、本番環境では低すぎます。ここでは、クイックテストとデモのためだけに1秒を使用しています。
同様に、start_period は実生活ではゼロにすることはできません。ヘルスチェックを実行する前に、まずアプリケーションを起動する時間を与えるべきです。
ヘルスチェックの詳細については、Alibaba Cloudの公式ドキュメントを参照してください。コンテナサービスのベストプラクティス - Dockerコンテナのヘルスチェック
Dockerコミュニティでは、ヘルスチェックを含むいくつかのインスタンスイメージを https://github.com/docker-library/healthcheck で提供しています。
これらの例ではソフトウェアを使用していなくても、自分の健康診断書の書き方について非常に良いアイデアを得ることができます。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ
- 投稿日:2020-07-21T10:51:51+09:00
オープン コンテナ イニシアティブ (OCI):オープンコンテナの仕様を定義する
OCIは、コンテナイメージフォーマットとランタイムに関するオープンコンテナの仕様を定義するための業界共同の取り組みです。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
概要
OCIには、イメージ仕様とランタイム仕様の2つの仕様があります。
ここでは、これらの仕様が何をカバーし、どのように相互作用するかを説明しています。
OCIイメージはどこかからダウンロードされ(Dockerハブと考えてください)、OCIランタイムファイルシステムバンドルに展開されます。その時点から、OCIランタイムによってOCIランタイムバンドルが実行されます。ランタイム仕様では、「ファイルシステムバンドル」を実行する方法を定義しています。
イメージ仕様書(image-spec)
イメージ仕様は、manifest、イメージインデックス、ファイルシステムレイヤのセット、設定からなる OCI コンテナイメージのアーカイブフォーマットを定義します。この仕様の目的は、コンテナイメージを構築し、輸送し、実行するための準備をするための相互運用可能なツールを作成できるようにすることです。
コンテナイメージは、トップレベルでは単なるtarballであり、展開後は以下のような
レイアウト
となります。├── blobs │ └── sha256 │ ├── 4297f0* (image.manifest) │ └── 7ea049 (image.config) ├── index.json └── oci-layoutレイアウトは、それらが何であるか、そしてそれらがどのように関連しているか(参照されているか)の仕様がなければ、それほど有用ではありません。
index.json
がエントリポイントで、それはprimary amanifest
を含んでおり、単一のコンテナイメージで使用されるすべての "リソース "をリストアップしています。
マニフェスト
には主にconfig
とlayers
が含まれています。これを図にすると大体こんな感じです。
configには、特に1) ランタイムバンドルのランタイムconfigureファイルに変換されるイメージの設定、2) ランタイムバンドルのルートファイルシステムを構成するレイヤー、3) イメージの履歴に関するメタデータが含まれています。
layersは最終的な
rootfs
ファイルシステムを構成するものです。最初のレイヤーがベースで、他のすべてのレイヤーはベースへの変更のみを含んでいます。次のセクションでは、レイヤーの仕様がどのようなものかを詳しく見てみましょう。Layers
Layersについては、この仕様では基本的に2つのことを定義しています。
1、Layersをどのように表現するか。
- ベースのLayersでは、すべてのコンテンツをtar
化します。
- ベースではないLayersでは、そのベースと比較したチェンジセットをtar
します。
- したがって、最初に変更を検出してチェンジセットを形成し、このLayersの表現としてチェンジセットをtar
します。
2、すべてのLayersを統合する方法。
すべてのチェンジセットをベースLayersの上に適用します。これでrootfs
ができあがります。ランタイム仕様
イメージがディスクファイルシステム上のランタイムバンドルに解凍されると、実行可能なものができあがります。この時にランタイム仕様書が起動します。ランタイム仕様は、コンテナの構成、実行環境、およびライフサイクルを指定します。
コンテナの設定には、コンテナの作成と実行に必要なメタデータが含まれています。これには、実行するプロセス、環境変数、使用するリソース制約、サンドボックス機能などが含まれます。コンフィギュレーションの中には、Linux、Windows、Solaris、仮想マシンに特化したものなど、すべてのプラットフォームに共通するものもありますが、Linuxのみというようにプラットフォームに特化したものもあります。
ランタイム仕様では、コンテナのライフサイクルも定義しています。コンテナが作成されてから存在しなくなるまでの一連のイベントです。
コンテナのライフサイクル
コンテナにはライフサイクルがあり、その本質は以下の状態図のようにモデル化することができます。
pause
やpaused
など、他にもいくつかのアクションや状態を入れることができますが、これらは基本的なものです。状態図は従来のものですが、一つだけ重要なことがあります。コンテナの仕様ではネットワークの設定方法は定義されていませんが、実際には
Hooks
に依存してネットワークを適切に設定します。コンテナの設定
コンテナのコンフィグには、コンテナを作成して実行するために必要なコンフィグが含まれていることは先に述べました。ここでは、コンテナとは何かを理解するために、設定のいくつかをもう少し詳しく見ていきます。
1、Root
コンテナのルートファイルシステムを定義します。
2、Mounts
ルートファイルシステムにマウントできる追加ファイルシステムを指定します。これは、ローカルのホストディレクトリやCephのような分散ディレクトリをバインドしてマウントすることができます。
3、Process
コンテナ内で実行したいプロセスに関連する全てのものを指定します。環境変数やプロセスへの引数などが含まれます。
Linuxプロセスの場合は、プロセスのセキュリティ面に関するものを追加で指定することができ、ここでは能力、rlimits、selinuxラベルなどを指定することができます。1、Hooks
ここはコンテナのライフサイクルにフックアップして、ネットワークの設定やクリーンアップなどを行うことができる場所です。
2、Linux の名前空間
Linuxプラットフォームでは、多くの設定が名前空間の設定に特化しています。実は、名前空間はコンテナ技術の基礎となるものです。別の言い方をすれば、名前空間なしにコンテナは存在しないということです。Linux には 7 種類の名前空間があり、それらはすべて OCI ランタイム仕様でサポートされています。
Namespace Domain / Description PID Process IDs Mount Mount points Network Network devices, stacks, ports, etc. User User and group IDs IPC System V IPC, POSIX message queues UTS Hostname and NIS domain name 3、アノテーション
コンテナが何をどのように実行すべきかに加えて アノテーションによって、コンテナにラベルを付けることができます。いくつかのプロパティに基づいてコンテナベースにラベルを付けて選択する機能は、コンテナオーケストレーションプラットフォームの基本的な要件です。イメージ、コンテナ、プロセス
コンテナは、(コンテナの)イメージから作成されます。1つのImageから複数のコンテナを作成することができます。また、コンテナをリパックして、通常はベースとなるImageを変更して新しいImageを作成することもできます。
コンテナを取得した後は、そのコンテナの中で処理を実行することができます。最も注目すべきは、一度コンテナ化したアプリは自己完結型になり、ホスト環境に影響を与えないので、「どこでも(TM)動く」はずです。
ここでは、Image、Container、Processという様々な概念の関係性を説明します。
DockerとKubernetes
Dockerはコンテナを業界のトレンドにしており、Dockerをコンテナ、コンテナをDockerと考える人はたくさんいます。ここではDockerは間違いなく称賛に値する。しかし、技術的な観点から見ると、Dockerは最も広く使われているコンテナ実装です。Dockerの実装のアーキテクチャは、バージョンごとに非常に速く進化しています。執筆時点では以下のようになっています。
図は
[github]Org/project
の形式に沿っています。ほとんどのコンポーネントはDockerに由来していますが、現在は異なるGitHubの組織やプロジェクトに属しています。一番上にあるのは私たちが日常的に使っているDockerコマンドツールで、Docker Inc.から商用提供されています。Dockerツールはmobyというオープンソースプロジェクトに依存していますが、mobyではoci runtime仕様のリファレンス実装であるruncを使用しています。コンテナオーケストレーション
1つか2つのコンテナだけが必要な場合は、Dockerで十分でしょう。しかし、何十個も何千個ものコンテナを運用したい場合には、解決すべき問題がもっとたくさんあります。いくつか挙げてみましょう。
1、スケジューリング:どのホストにコンテナを置くか?
2、更新:コンテナイメージをどのように更新するか?
3、スケーリング:より多くの処理能力が必要なときに、どのようにしてコンテナを追加するか?
それがコンテナオーケストレーションシステムの仕事です。そしてKubernetesもその一つですが、今のところ最も有力なのは議論の余地がないと思います。しかし、ここではKubernetesについて深く掘り下げることはせず、コンテナランタイムがコンテナオーケストレーションプラットフォームにどのようにフィットするのかという観点から簡単に触れてみたいと思います。以下の図は、Kubernetesがコンテナランタイムとどのように相互作用するかを示しています。
Kubernetesでは、Container Runtime Interfaceを使ってランタイムの実装をデカップリングしています。簡単に言うと、CRIはコンテナの作成、起動、停止、削除を行うためのインターフェースを定義しています。これにより、Kubernetes用のプラガブルなコンテナランタイムが可能になり、特定のランタイムに固執する必要がなくなります。現在、
cri-containerd
やcri-o
などいくつかの実装がありますが、いずれも最終的にはoci/runc
を使用することになります。まとめ
OCIコンテナイメージとランタイム仕様の概要です。それぞれの仕様の責任と、それらがどのように連携しているかをカバーしています。ランタイム仕様のコンテナライフサイクルとプライマリ構成について説明します。そして、Dockerとruncの関係を紹介し、コンテナオーケストレーションとコンテナランタイムがどのように適合するかを簡単に紹介して記事を締めくくります。
Alibaba Cloud上のコンテナについて詳しく知りたい方は、https://www.alibabacloud.com/product/container-service をご覧ください。
または、Alibaba CloudのオープンソースのリッチコンテナエンジンであるPouchContainerをチェックしてみてください。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ