ドッカー更新されたバージョン
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
の建物を行った後、後にコンテナをし、次のエラーを発見しました。
アップグレードの問題の後。フォルダのエラーを削除します。コマンドは問題ではありません。
私は、次のコマンドの容器を入力し、それが与えられています。
[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。
-
では
overlay
とoverlay2
運転支援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
の建物を行った後、後にコンテナをし、次のエラーを発見しました。
アップグレードの問題の後。フォルダのエラーを削除します。コマンドは問題ではありません。
私は、次のコマンドの容器を入力し、それが与えられています。
[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。
-
では
overlay
とoverlay2
運転支援xfs
システムファイルが、それはする必要がd_type=true
有効になっています。使用
xfs_info
を確認ftype
オプションが設定されています1
。するにはxfs
、適切にファイルシステムをフォーマットし、このフラグを使用します-n ftype=1
。
私たちは、使用し ext4
たファイル・システムのバージョンがドッカーよりも高くなっている 17.06.02
が、私たちの Centos
バージョンは以下である 3.10.0-514
ので、私は、使用できないストレージ・ドライブにつながる、我々はカーネルのアップグレード、システムのスナップショットを低すぎ掲載されているバージョン番号によると思います。
カーネルをアップグレードした後、私たちはホストを再起動し、それが通常の使用で見つけることができます。