1
0

More than 1 year has passed since last update.

独自のコンテナを作り、ECRに登録する

Last updated at Posted at 2020-03-12

SageMakerであらかじめインストールされていないライブラリを使いたい場合、
prophetなど。
ライブラリインストール済みのコンテナを作りたいときがあります。
(既存コンテナで起動時にインストールしてもよい??)

どのようにカスタムコンテナの環境を用意し、ECRに登録すればよいのでしょうか?

1.EC2を作成する
AWSのEC2でインスタンスを作成する手順
https://qiita.com/Quikky/items/2897573a42fd71cfc47f

サブネット
IAMロール
セキュリティグループ
の設定は忘れずに!

2.コンテナイメージを作成する

https://tech.librastudio.co.jp/entry/index.php/2018/07/14/post-1924/
dockerコマンド実行時の「Got permission denied while trying to connect to the Docker daemon socket」

AmazonECRとEC2を使って手元でビルドしたDockerイメージをAWS上でサクッと動かす
https://qiita.com/shnagai/items/196c6affbddedebced5d

再ログインをしてなかったからエラーになった??

EC2でdockerイメージを作成して、ECRに登録してみる

$ aws ecr get-login --region us-east-2 --no-include-email
出力された docker login -u AWS -p <長文> https://.dkr.ecr.us-east-2.amazonaws.com
をコマンド入力

Login Succeeded

<参考>
https://qiita.com/shnagai/items/196c6affbddedebced5d
https://qiita.com/harukisan/items/6f536e662b42ea2694a9

???
Dockerによる環境構築って、docker環境というコンテナの中に入っていって、
pip install とか自由にして環境構築したら
イメージ化コマンドでスナップショット作ってpushして終わり!
と思ってたけど違うのか???
dockerfileってなんだ???
わざわざ書くの???動作確認は??

https://blog.codecamp.jp/programming-docker-image-container
なるほど、dockerコンテナとdockerイメージがあるらしい。
ファイル編集は、Dockerコンテナレイヤーが読み書き可能らしい。

イメージレイヤーは、Dockerfileを元に作成され、プログラム固定で追加は不可。
インフラ、ミドルはイメージ・レイヤー。
アプリはコンテナレイヤーというイメージだろうか。

dockerイメージとdockerコンテナをしっかり区別せよ

やはりわからない???従来の環境構築のやり方と全く異なるのか??

<従来の環境構築>
・実機にログインして
・インストールコマンドを連打
・ディレクトリを掘りまくる
・スナップショットを保存
・展開

prophetを動かすためのdockerfile

ど真ん中の記事がありました。

ECRからコンテナイメージをダウンロードしてコンテナビルドして、中に入って状況を確かめる

1.ECRにログインする
$ $(aws ecr get-login --region us-east-2 --no-include-email)

2.dockerコンテナをビルドする

3.Dockerコンテナの中に入る
$ docker exec -it コンテナ名 bash

最新のコンテナに入るために、ローカルのゴミは綺麗にしましょう。
<確認コマンド>
$ docker ps -a
$ docker images

神記事を発見!!

$ docker run -ti ubuntu:16.04 bash

以下のコマンドで入れた!

$ docker run -it .dkr.ecr.us-east-2.amazonaws.com/sagemaker-tf2.0-example:latest bash

-itのあとは、:
の構成

こちらの公式サンプルで作られたコンテナ
https://github.com/aws-samples/amazon-sagemaker-examples-jp/tree/master/workshop/lab_bring-your-own-containers/tensorflow2.0

結論、dockerコンテナもディレクトリ構成をもっている。

dockerコンテナへのファイル転送

dockerコンテナの環境構築

こちらも丁寧にかかれていてよい
https://suwaru.tokyo/dockerfile%E3%81%A8%E3%81%AF%EF%BC%9Fcommand-%E6%9B%B8%E3%81%8D%E6%96%B9%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%81%BE%E3%81%97%E3%81%9F/

1
0
0

Register as a new user and use Qiita more conveniently

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