banner
AndrewTsui

AndrewTsui

Docker使用ノート

学習資料:

Docker のインストール#

Centos での Docker のインストール#

Centos7 での Docker のインストール

コミュニティ版のインストール
インストールが成功したかどうかを確認するためにコマンドを実行する

docker version
# または
docker info

Docker はサーバークライアントアーキテクチャであり、Docker コマンドを実行するためにはローカルに Docker サービスが必要です。

# service コマンドの使用法
sudo service docker start
# systemctl コマンドの使用法
sudo systemctl start docker

イメージファイル#

**Docker はアプリケーションとその依存関係をイメージファイルにパッケージ化します。** このファイルを使用してのみ Docker コンテナを生成できます。イメージファイルはコンテナのテンプレートと見なすことができます。Docker はイメージファイルに基づいてコンテナのインスタンスを生成します。同じイメージファイルから、複数の同時実行コンテナのインスタンスを生成できます。

# ローカルのすべてのイメージファイルをリストアップする
docker image ls
# イメージファイルを削除する
docker image rm imageName

基本操作#

  • イメージファイルをリポジトリからローカルに取得する:docker pull hello-world
  • このイメージファイルを実行する:docker container run hello-world
  • 手動で終了する:docker container kill [containID]

コンテナファイル#

** イメージファイルから生成されたコンテナインスタンスは、それ自体がファイルであり、コンテナファイルと呼ばれます。** つまり、コンテナが生成されると、イメージファイルとコンテナファイルの 2 つのファイルが同時に存在します。また、コンテナを閉じてもコンテナファイルは削除されず、コンテナが停止するだけです。

  • ローカルで実行中のコンテナをリストアップする:docker container ls
  • 終了したコンテナを含むすべてのコンテナをリストアップする:docker container ls -all
  • 終了したコンテナファイルを削除する:docker container rm [containerID]

Docker パッケージングでの問題#

Docker パッケージングが遅い#

Docker はレイヤーを使用してイメージを作成し、Dockerfile の各コマンドは新しいレイヤーを作成し、コマンドの前後の状態の間のイメージのファイルシステムの変更を含みます。Dockerfile と関連するファイルが変更されていない場合、再構築時には既存のキャッシュされたレイヤーをローカルイメージキャッシュから再利用できます。

キャッシュを使用せずにパッケージングする#

docker build --no-cache -t xxxx

Docker の使用中に発生する問題#

1. Docker の実行時にエラーが発生する#

docker run hello-world
/usr/bin/docker-current: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See '/usr/bin/docker-current run --help'.

解決策:systemctl restart docker

2. Docker info でエラーが発生する Registry Mirrors: https://4piaafr1.mirror.aliyuncs.com/#

修正済みなのになぜ表示されるのか

=> [1/7] FROM docker.io/library/

解決策:
この状況は、Docker のビルドキャッシュによるものかもしれません。Docker はイメージをビルドする際にキャッシュを使用してビルド速度を向上させようとします。したがって、イメージソースを変更した場合でも、Docker はビルド時に以前のキャッシュを使用しようとします。
Docker キャッシュをクリアする:Docker ビルドの前に、--no--cache オプションを使用してキャッシュを無効にし、必要なイメージを強制的に再ダウンロードすることができます。
docker build --no-cache -t your_image_name .

Mac 版 Docker の daemon.json は ~/.docker フォルダにあります。

3. ソースの変更#

Docker の切り替えを行うための清華ソース:

{
  "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。