■ はじめに
https://dk521123.hatenablog.com/entry/2020/04/24/160044
https://dk521123.hatenablog.com/entry/2018/04/10/234030
https://dk521123.hatenablog.com/entry/2020/04/11/000000
の続き。 今回は、dockerコマンド を扱う。 また、以下の動画を見ながらやるといいかも。
https://dotinstall.com/lessons/basic_docker
目次
【0】Docker における基本操作 【1】Dockerイメージに関するコマンド 1)Dockerイメージの検索:docker search 2)Dockerイメージのダウンロード:docker pull 3)取得したDockerイメージ一覧表示:docker images 4)Dockerイメージの詳細設定表示:docker inspect 5)Dockerイメージ削除:docker rmi 【2】Dockerコンテナに関するコマンド 【3】レポジトリに関するコマンド 1)ログイン:docker login 2)新しいイメージを作成する:docker build -t 3)タグづけする:docker tag 5)コンテナイメージをリポジトリにプッシュする:docker push 6)コンテナイメージをリポジトリからプルする:docker pull 7)Dockerイメージのexport:docker save 8)Dockerイメージのimport:docker load
【0】Docker における基本操作
* Docker における基本操作は、以下に大別できる。 ~~~~~~~~~~ 1)Dockerイメージに関する操作 2)Dockerコンテナに関する操作 ~~~~~~~~~~
【1】Dockerイメージに関するコマンド
1)docker search 2)docker pull 3)docker images 4)docker inspect 5)docker rmi
1)docker image build
* Dockerイメージのビルド
基本構文
docker image build -t [image name]:[tag] [Dockerfile path]
オプション
# | オプション | 説明 |
---|---|---|
1 | -t | -t [イメージ名]:[タグ]で指定 |
2 | -f | -f [Dockerfile Name]で指定 |
3 | -pull | --pull=trueでDockerイメージを再取得 |
コマンド例
https://dk521123.hatenablog.com/entry/2022/01/14/102719
# より抜粋 # DockerファイルからDockerイメージを作成 docker image build -t hello/world:latest .
2)docker search
* Dockerイメージの検索
コマンド例
sudo docker search centos | more
2)Dockerイメージのダウンロード:docker pull
sudo docker pull centos
3)取得したDockerイメージ一覧表示:docker images
sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/centos latest e934aafc2206 3 days ago 199 MB
4)Dockerイメージの詳細設定表示:docker inspect
sudo docker inspect e934aafc2206
5)Dockerイメージ削除:docker rmi
# docker rmi [イメージID] (rmi = REmove Image)
docker rmi e934aafc2206
docker rmi centos
【2】 Dockerコンテナに関するコマンド
* 以下の関連記事を参照のこと。
Docker ~ 基本編 / docker container コマンド ~
https://dk521123.hatenablog.com/entry/2022/01/20/000000
1)動いているコンテナの確認:docker ps
docker ps
停止しているコンテナの確認:docker ps -a
docker ps -a
コンテナ一覧表示:docker ps -a
# 実行完了後を表示。「Exited (0)」は正常終了) sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3c38d46e852d centos "echo 'Hello World'" 5 minutes ago Exited (0) 5 minutes ago gallant_yonath
実行完了後の最新3履歴を表示
sudo docker ps -a -n=3
【3】 レポジトリに関するコマンド
レポジトリへのイメージ登録するためのコマンドを纏める
https://dk521123.hatenablog.com/entry/2020/05/22/165711
でECRへの登録に使ったコマンド。 Docker Hub でも使える。 1)ログイン:docker login 2)新しいイメージを作成する:docker build -t 3)タグづけする:docker tag 5)コンテナイメージをリポジトリにプッシュする:docker push 6)コンテナイメージをリポジトリからプルする:docker pull 7)Dockerイメージのexport:docker save 8)Dockerイメージのimport:docker load
1)ログイン:docker login
docker login [オプション] [サーバ]
コマンド例
# --username:ユーザ名、--password:パスワード docker login --username admin --password password xxxx.xxx.ecr.us-west-2.amazonaws.com
セキュアに行うには...
# --password-stdin(標準出力からパスワードを設定) を使用する cat ~/.password.txt | docker login --username admin --password-stdin xxxx.xxx.ecr.us-west-2.amazonaws.com
2)新しいイメージを作成する:docker build -t
docker build -t [リポジトリ名]
コマンド例
docker build -t hello-world-ecr
3)タグづけする:docker tag
docker tag [イメージID] [リポジトリ名]:[タグ]
コマンド例
docker tag hello-world-ecr:latest xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr:latest
5)コンテナイメージをリポジトリにプッシュする:docker push
docker push [コンテナ名]
コマンド例
docker push xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr:latest
6)コンテナイメージをリポジトリからプルする:docker pull
docker pull registry/repository[:tag]
コマンド例
# docker pull registry/repository[:tag]
docker pull xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr:latest
7)Dockerイメージのexport:docker save
# Dockerイメージをtarファイルとして出力する docker save [コンテナ名] -o [Tarファイル名].tar
コマンド例
docker save hello-world-ecr:latest -o hello-world-ecr.tar
8)Dockerイメージのimport:docker load
# tarファイルをDockerイメージとしてロードする docker load -i [Tarファイル名].tar
コマンド例
docker load -i hello-world-ecr.tar # 確認 docker images
参考文献
https://qiita.com/leomaro7/items/e5474e67a8e41536f0ff
関連記事
Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2017/09/23/235818
Docker ~ 基本編 / docker container コマンド ~
https://dk521123.hatenablog.com/entry/2022/01/20/000000
Docker ~ 基本編 / Dockerfile ~
https://dk521123.hatenablog.com/entry/2020/04/14/000000
Docker ~ 基本編 / docker-compose ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
LocalStack ~ ローカルで疑似AWSを作成する ~
https://dk521123.hatenablog.com/entry/2019/12/14/010524
Amazon ECR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/22/165711