GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker イメージをビルドして Docker Hub リポジトリにプッシュする方法

この投稿では、ローカルの docker システムで docker イメージをビルドして docker ハブ リポジトリにプッシュする方法について説明します。この記事では、Docker ハブのパブリック リポジトリから CentOS イメージを取得します。後で、このイメージを使用してコンテナーを実行し、新しいファイルをコンテナーに追加します。この新しいコンテナーは、新しい Docker イメージとして Docker ハブにプッシュされます。

Docker イメージのビルド

1. Docker Hub から CentOS イメージの最新バージョンを取得します。

# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a
Status: Image is up to date for centos:latest
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              d123f4e55e12        2 weeks ago         197MB

2. CentOS イメージがダウンロードされたら、このイメージに基づいて "centos_test" という名前の Docker コンテナーを実行します。

# docker run -it --name="centos_test" centos:latest /bin/bash
[root@e121d03b20dc /]#

3. コンテナ「test_dir」に新しいディレクトリを作成し、その中に「test_file」というファイルを作成します。また、test_file にランダムなテキストを追加します。

[root@e121d03b20dc /]# mkdir test_dir
[root@e121d03b20dc /]# cd test_dir
[root@e121d03b20dc test_dir]# echo "This is a sample text" > test_file         
[root@e121d03b20dc test_dir]# cat test_file
This is a sample text
[root@e121d03b20dc test_dir]# ls -lrt
total 4
-rw-r--r--. 1 root root 22 Nov 19 16:12 test_file

4. 次のステップは、新しく作成された docker コンテナーを使用して docker commit コマンドで新しいイメージをビルドすることです。 「docker commit」コマンドは、docker コンテナー自体からではなく、docker ホストから実行されます。

# docker commit -m="This a test image" centos_test geeklab/test_repo
sha256:8a34a37712626012e995e3b02e2179bd38fb646cfc9ceaa30b15a4774d198f67

ここで、
-m="これはテスト画像です" :コミット メッセージです。
centos_test :イメージを作成するコンテナの名前。
geeklab/test_repo :イメージをプッシュする Docker Hub リポジトリの名前。これは、作成された新しいイメージに割り当てられるタグです。

5. 上記のコマンドを実行すると、システムでローカルに使用可能な Docker イメージのリストに新しいイメージ「centos_image」が表示されます。

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
geeklab/test_repo   latest              8a34a3771262        About a minute ago   197MB
centos              latest              d123f4e55e12        2 weeks ago          197MB

Docker イメージを Docker ハブ リポジトリにプッシュする

1. 次のステップは、イメージをプッシュする Docker ハブ リポジトリにログインすることです。

# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: geeklab
Password: 
Login Succeeded

2. これで、イメージを Docker ハブ リポジトリにプッシュできます。

# docker push  geeklab/test_repo
The push refers to a repository [docker.io/geeklab/test_repo]
3dbbbdcf3ef9: Pushed 
cf516324493c: Pushed 
latest: digest: sha256:c542e22fe3f29f809226d72b6c6d8efd0bec46c2924d66ad8fbb5612972740fe size: 736

3. 次に、Docker Hub にログインし、リポジトリでイメージを確認します。


Docker
  1. Dockerfileを使用してDockerイメージを構築する方法

  2. Dockerイメージを変更する方法

  3. Dockerfileを使用してカスタムDockerイメージを自動的に構築および構成する方法–パート3

  1. Dockerキャッシュ–クリーンなイメージの再構築とDockerキャッシュのクリアを行う方法

  2. Dockerイメージをあるサーバーから別のサーバーにパッケージ化して転送する方法

  3. Docker イメージ内のファイルを更新/追加する方法

  1. Ubuntu20.04にDockerをインストールして使用する方法

  2. Dockerイメージに変更をコミットする方法

  3. コンテナと Dockerfile から Docker イメージを作成する方法