[投稿]後でドッカー、およびデータ・ルートドッカーの更新バージョン

ドッカー更新されたバージョン

 
HTTPS:// www.cnblogs.com/operationhome/archive/2019/08/11/11322150.html 

庭の愛好家には、データを使用してドッキングウィンドウが言う Baiduは、単純に次の後に彼らの知識を更新する必要があり、ここで対処することが-rootそのライブラリは。

原作者が提供する知識に感謝します。

 

ドッカー更新されたバージョン

元のバージョン 1.10

更新されたバージョン 19.03.1

更新  Docker 注意が必要な問題のバージョン:

  • お使いのシステムは、ストレージドライブの新しいバージョンをサポートしている場合があります。

    デフォルトのストレージドライバのバージョン19.03.01です  overlay2

    overlay2 ストレージドライブは、以下の条件を満たしている必要があります使用します。

まず、元の容器と輸出を一時停止

ドッカーバージョンのアップデート:

タールパッケージコンテナへのすべてのドッキングウィンドウ、現在のミラーリングと輸出を一時停止

輸出コンテナ

docker export  container id  -o  d.tar

輸出ミラー

docker  image  save  container  -o  a.tar

第二に、古いものを削除し、新しいバージョンをインストールドッカー

ドッカーの古いバージョンを削除します

 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

新しいバージョンをインストールしますドッカー

# yum-utils 提供了命令 yum-config-manager,device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
# 设置 yum 源为 稳定的版本  
# 阿里的源,国内使用较快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 官方的源(国内使用比较慢) 
yum-config-manager --add-repo    https://download.docker.com/linux/centos/docker-ce.repo
# 生成缓存 yum makecache # 如果要安装指定的版本 yum list docker-ce --showduplicates | sort -r # 填入版本号到下面的命令(docker-ce-19.03.0-3.el7) yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io # 安装最新稳定版本 Docker CE yum install docker-ce docker-ce-cli containerd.io 

第三に、元のデータディレクトリを使用するか、新しいデータディレクトリを作成します。

元のデータディレクトリを使用します

データディレクトリの以前のバージョンであるデータディレクトリを、使用する前に、そのミラーと、コンテナはもはや直接ラインで、インポートすることができます前に。

指定されたストレージディレクトリの前に、私たちの前の  Docker 格納ディレクトリ  /opt/docker

cat << EOF >>/etc/docker/daemon.json
{
    "data-root": "/opt/docker"
}
EOF

ドッキングウィンドウを起動します

systemctl  start  docker
docker  images   # 我们可以看到之前的镜像都存在
docker  info   # 我们可以看到

物事は、更新後に変更します

  • ジャーナルログドライブは現在のログファイルである前に、

    データディレクトリ:

[root@iz23nb5ujp69 docker]# ls -l
total 48 drwx------ 2 root root 4096 Aug 6 15:58 builder drwx------ 4 root root 4096 Aug 6 15:58 buildkit drwxrwxrwx 5 root root 4096 Aug 6 16:31 containers drwxrwxrwx 5 root root 4096 Oct 13 2016 devicemapper drwxrwxrwx 3 root root 4096 Oct 13 2016 image drwxrwxrwx 3 root root 4096 Oct 13 2016 network drwx------ 4 root root 4096 Aug 6 15:58 plugins drwx------ 2 root root 4096 Aug 6 16:41 runtimes drwx------ 2 root root 4096 Aug 6 15:58 swarm drwx------ 2 root root 4096 Aug 6 16:41 tmp drwxrwxrwx 2 root root 4096 Oct 13 2016 trust drwxrwxrwx 2 root root 4096 Aug 6 15:58 volumes

オリジナル  1.10バージョンは、デフォルトドライブで  devicemapper のバージョンを使用、  Docker デフォルトのストレージドライブおよびジャーナル・エンジンの正式現在のバージョンが使用され、新しいディレクトリを使用している場合、それは、(互換性のため)バージョンにデフォルトのドライブを使用する、ディレクトリを。

画像をインポートするための新しいディレクトリを作成します。

新しいデータディレクトリ  /opt/docker-ce

cat << EOF >>/etc/docker/daemon.json
{
    "data-root": "/opt/docker-ce"
}
EOF
systemctl restart  docker 

インポート画像

docker image import  jenkins.tar    fy:jenkins

インポートした画像が使用されますDocker つまり、デフォルトのドライブを  overlay2、デフォルトのログドライブを使用しています。何にかかわらず、現在のデフォルト・ストレージ・ドライブを使用するインポート後に使用された元の画像のドライブ。

第四に、問題はアップデート中に遭遇しました

私たちは、更新新しい方法を作成するためにディレクトリを使用するには、上記の手順に従ってください。私たちは始めたとき  Jenkins の建物を行った後、後にコンテナをし、次のエラーを発見しました。

1565084429253

アップグレードの問題の後。フォルダのエラーを削除します。コマンドは問題ではありません。

私は、次のコマンドの容器を入力し、それが与えられています。

[root@491c264aea0d target]# rm -rf  ./*
rm: cannot remove `./classes/com/ugou88/wx/interceptor': Invalid argument
rm: cannot remove `./classes/com/ugou88/wx/i/controller': Invalid argument

最も可能性の高いドライブによって引き起こされる問題は、ドライブが格納されています。

私たちは、アップグレードされた  Docker ドライバがあり、デフォルトを使用して  overlay2、あなたがドライバーを使用する場合は、次の基準を満たしている必要があります。

  • overlay2`Docker CEとドッカーEE 17.06.02-EE5以降のドライバをサポートしていますが、推奨されるストレージドライバです。

  • Linuxカーネルのバージョンはより大きく、RHEL / CentOSのバージョン番号を使用して、4.0以降のバージョンが必要です  3.10.0-514

  • ではoverlayoverlay2運転支援xfsシステムファイルが、それはする必要がd_type=true有効になっています。

    使用xfs_infoを確認ftypeオプションが設定されています1するにはxfs、適切にファイルシステムをフォーマットし、このフラグを使用します-n ftype=1

私たちは、使用し  ext4 たファイル・システムのバージョンがドッカーよりも高くなっている  17.06.02が、私たちの  Centos バージョンは以下である  3.10.0-514 ので、私は、使用できないストレージ・ドライブにつながる、我々はカーネルのアップグレード、システムのスナップショットを低すぎ掲載されているバージョン番号によると思います。

カーネルをアップグレードした後、私たちはホストを再起動し、それが通常の使用で見つけることができます。

ドッカー更新されたバージョン

元のバージョン 1.10

更新されたバージョン 19.03.1

更新  Docker 注意が必要な問題のバージョン:

  • お使いのシステムは、ストレージドライブの新しいバージョンをサポートしている場合があります。

    デフォルトのストレージドライバのバージョン19.03.01です  overlay2

    overlay2 ストレージドライブは、以下の条件を満たしている必要があります使用します。

まず、元の容器と輸出を一時停止

ドッカーバージョンのアップデート:

タールパッケージコンテナへのすべてのドッキングウィンドウ、現在のミラーリングと輸出を一時停止

輸出コンテナ

docker export  container id  -o  d.tar

輸出ミラー

docker  image  save  container  -o  a.tar

第二に、古いものを削除し、新しいバージョンをインストールドッカー

ドッカーの古いバージョンを削除します

 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

新しいバージョンをインストールしますドッカー

# yum-utils 提供了命令 yum-config-manager,device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
# 设置 yum 源为 稳定的版本  
# 阿里的源,国内使用较快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 官方的源(国内使用比较慢) 
yum-config-manager --add-repo    https://download.docker.com/linux/centos/docker-ce.repo
# 生成缓存 yum makecache # 如果要安装指定的版本 yum list docker-ce --showduplicates | sort -r # 填入版本号到下面的命令(docker-ce-19.03.0-3.el7) yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io # 安装最新稳定版本 Docker CE yum install docker-ce docker-ce-cli containerd.io 

第三に、元のデータディレクトリを使用するか、新しいデータディレクトリを作成します。

元のデータディレクトリを使用します

データディレクトリの以前のバージョンであるデータディレクトリを、使用する前に、そのミラーと、コンテナはもはや直接ラインで、インポートすることができます前に。

指定されたストレージディレクトリの前に、私たちの前の  Docker 格納ディレクトリ  /opt/docker

cat << EOF >>/etc/docker/daemon.json
{
    "data-root": "/opt/docker"
}
EOF

ドッキングウィンドウを起動します

systemctl  start  docker
docker  images   # 我们可以看到之前的镜像都存在
docker  info   # 我们可以看到

物事は、更新後に変更します

  • ジャーナルログドライブは現在のログファイルである前に、

    データディレクトリ:

[root@iz23nb5ujp69 docker]# ls -l
total 48 drwx------ 2 root root 4096 Aug 6 15:58 builder drwx------ 4 root root 4096 Aug 6 15:58 buildkit drwxrwxrwx 5 root root 4096 Aug 6 16:31 containers drwxrwxrwx 5 root root 4096 Oct 13 2016 devicemapper drwxrwxrwx 3 root root 4096 Oct 13 2016 image drwxrwxrwx 3 root root 4096 Oct 13 2016 network drwx------ 4 root root 4096 Aug 6 15:58 plugins drwx------ 2 root root 4096 Aug 6 16:41 runtimes drwx------ 2 root root 4096 Aug 6 15:58 swarm drwx------ 2 root root 4096 Aug 6 16:41 tmp drwxrwxrwx 2 root root 4096 Oct 13 2016 trust drwxrwxrwx 2 root root 4096 Aug 6 15:58 volumes

オリジナル  1.10バージョンは、デフォルトドライブで  devicemapper のバージョンを使用、  Docker デフォルトのストレージドライブおよびジャーナル・エンジンの正式現在のバージョンが使用され、新しいディレクトリを使用している場合、それは、(互換性のため)バージョンにデフォルトのドライブを使用する、ディレクトリを。

画像をインポートするための新しいディレクトリを作成します。

新しいデータディレクトリ  /opt/docker-ce

cat << EOF >>/etc/docker/daemon.json
{
    "data-root": "/opt/docker-ce"
}
EOF
systemctl restart  docker 

インポート画像

docker image import  jenkins.tar    fy:jenkins

インポートした画像が使用されますDocker つまり、デフォルトのドライブを  overlay2、デフォルトのログドライブを使用しています。何にかかわらず、現在のデフォルト・ストレージ・ドライブを使用するインポート後に使用された元の画像のドライブ。

第四に、問題はアップデート中に遭遇しました

私たちは、更新新しい方法を作成するためにディレクトリを使用するには、上記の手順に従ってください。私たちは始めたとき  Jenkins の建物を行った後、後にコンテナをし、次のエラーを発見しました。

1565084429253

アップグレードの問題の後。フォルダのエラーを削除します。コマンドは問題ではありません。

私は、次のコマンドの容器を入力し、それが与えられています。

[root@491c264aea0d target]# rm -rf  ./*
rm: cannot remove `./classes/com/ugou88/wx/interceptor': Invalid argument
rm: cannot remove `./classes/com/ugou88/wx/i/controller': Invalid argument

最も可能性の高いドライブによって引き起こされる問題は、ドライブが格納されています。

私たちは、アップグレードされた  Docker ドライバがあり、デフォルトを使用して  overlay2、あなたがドライバーを使用する場合は、次の基準を満たしている必要があります。

  • overlay2`Docker CEとドッカーEE 17.06.02-EE5以降のドライバをサポートしていますが、推奨されるストレージドライバです。

  • Linuxカーネルのバージョンはより大きく、RHEL / CentOSのバージョン番号を使用して、4.0以降のバージョンが必要です  3.10.0-514

  • ではoverlayoverlay2運転支援xfsシステムファイルが、それはする必要がd_type=true有効になっています。

    使用xfs_infoを確認ftypeオプションが設定されています1するにはxfs、適切にファイルシステムをフォーマットし、このフラグを使用します-n ftype=1

私たちは、使用し  ext4 たファイル・システムのバージョンがドッカーよりも高くなっている  17.06.02が、私たちの  Centos バージョンは以下である  3.10.0-514 ので、私は、使用できないストレージ・ドライブにつながる、我々はカーネルのアップグレード、システムのスナップショットを低すぎ掲載されているバージョン番号によると思います。

カーネルをアップグレードした後、私たちはホストを再起動し、それが通常の使用で見つけることができます。

おすすめ

転載: www.cnblogs.com/jinanxiaolaohu/p/11429178.html