環境
エッジ : raspberrypi4
(ubuntuOSでも同様にできます)
前提
Dockerインストール済み(下記コマンドでバージョン情報出ればインストール済み)
docker --version
DockerHubアカウント作成済み
⇨仮にアカウント情報を,
ID:Mr.test
PW:test
として書いていきます
手順目次
- DockerHubから取得するDockerImage選定
- 選定したDockerImageをローカルにpull
- pullしたDockerImageを起動しモジュール操作
- Dockerから抜ける
- 新しいDockerImageを作成する
- DockerImageをpushする
- 不要なDockerImageを削除する
手順詳細
01. DockerHubから取得するDockerImage選定
ウェブで「DockerHub」と検索⇨ログイン⇨欲しいものを選定する
↓を欲しい物と選んだらクリックしてブラウザ遷移
「Docker pull command」があるのでこれをコピーする
02. 選定したDockerImageをローカルにpull
ターミナルで
先程コピーしたコマンドをペーストしてpullします
(permissionエラーでたら先頭にsudo入れて再度pull)
pullしたImageは、「test100/docker_test:v1」 とする(先ほどの画像のImage名は無視してください)
03. pullしたDockerImageを起動しモジュール操作
下記コマンドで起動
sudo docker run -it test100/docker_test:v1 bash
これでDockerに入れるので、自由にモジュール追加したりする
04. Dockerから抜ける
Ctrl + D か
exit
で抜ける
05. 新しいDockerImageを作成する
先ほど操作していたDockerImageのコンテナIDを確認する
sudo docker ps -a
CONTAINER IDの部分を確認する(仮に「A0A0A0A0A0A0A0」とする)
コミットする(今回作成するImage名は「test_image」とする)
sudo docker container commmit A0A0A0A0A0A0A0 test_image
新しいImageの「IMAGE ID」を確認する
sudo docker images
IMAGE IDは以下とする
「B0B0B0B0B0B0」
先ほど追加したImageにアカウント情報を追加する(アカウント名は「Mr.test」)
sudo docker tag B0B0B0B0B0B0 Mr.test/test_image
06. DockerImageをpushする
まずターミナル上でログインしていなければログインする
sudo docker login
Userとパスワードを求められるので、
ID:Mr.test
PW:test
(自分のアカウント情報を入力)
Imageをリモートリポジトリ(DockerHub)にpushする
sudo docker push Mr.test/test_image
しばらく待って完了したら、DockerHubのサイトでPushしたImageがあるか確認する
07. 不要なDockerImageを削除する
メモリの関係とか4S観点で不要なImageは削除する
以下コマンドで「REPOSITORY」(最左の項目)
sudo docker images
今回消したいImageのREPOSITORYは「test100/docker_test:v1」
(:v1の部分はsudo docker imagesのところでTAGの欄で該当するところ
⇨latestなら「:v1」の部分が必要無し)
以下コマンドで削除
sudo docker rmi test100/docker_test:v1
以上で完了です
わーっと書いてしまったので
わかりにくい部分は指摘頂けると幸いです