〜Dockerfile編〜
↓ターミナル操作
Docker hubからimageを取得
・使いたいimageをpullする。
<例>docker pull nvcr.io/nvidia/tensorflow:20.12-tf1-py3
docker imagesで中身確認。
新たなimageが出現してる。
適当な場所にフォルダを作成(ここでは/home/で作成したことを想定)
mkdir testDockerfile
<例>
/home/tmc/testDockerfileが出来上がる
作成したフォルダ内に移動する
cd testDockerfile
テキストファイルを作成する。
touch Dockerfile
↓ホスト側操作(マウス操作)
作成したtestDockerfileフォルダ内にDockerfileが作成されているか確認する。
作成されてたらテキストファイルの中に実行したいコマンドを入力して保存する。
↓ターミナル操作
・新たなimageを生成する。
docker build -t 'dockertest'(新しいリポジトリ名を任意に設定) /home/tmc/testDockerfile(dockerfileのありか)
もしくは
docker build -t 'dockertest'(新しいリポジトリ名を任意に設定) .
※最後の'.'を忘れないように!!
docker imageが生成されたか確認する
docker images
docker tag dockertest:latest(上げたいイメージのレポジトリ名) sasagurinaoto/docker(上げたい先dockerhub)
同じimgeIDで新たなdocker imageが生成されたか確認する。
docker images
・docker hubにpushする。
docker push sasagurinaoto/docker
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
〜コンテナから直接イメージ作成編〜
①ベースとなるdockerイメージをpullする
docker pull ユーザー名/イメージ名
pullできてるか確認
docker images
②pullしてきたdockerイメージを使ってコンテナを作成
docker run レポジトリ名(ユーザー名/イメージ名)
③コンテナ内で必要モジュールをインストールする
<例>
pip install opencv-python
pip install efficientnet
④コンテナを停止する
exit
停止したか確認する
docker ps -a
⑤新たなイメージを作成する
docker commit 元イメージ名 新たなイメージ名:tag名
docker images
⑥dockerhubに上げたいイメージと上げる先を指定
<例>
docker tag イメージ名:tag名(上げたいイメージのレポジトリ名) <例>sasagurinaoto/docker(上げたい先dockerhub)
同じimgeIDで新たなdocker imageが生成されたか確認する。
docker images
⑦docker hubにpushする。
docker push sasagurinaoto/docker