まず、サーバー環境情報: アンインストールの理由: しばらくするとホストマシンのディスクが100%になり、continartが異常終了しました。その後、いろいろ解決策を探したところ、dockerインストール時の設定ファイルに誤りがあることがわかりました(正常は|Storage Driver: overlay2のはずです)。 乾物について: ①アンインストール yum 削除 docker \ dockerクライアント\ docker-client-最新 \ docker-common \ docker-最新 \ docker-最新-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ dockerエンジン rm -rf /etc/systemd/system/docker.service.d rm -rf /var/lib/docker rm -rf /var/run/docker ②インストール #!/bin/sh セット-e # このスクリプトは、以下を介して迅速かつ簡単にインストールすることを目的としています: # $ curl -fsSL get.docker.com -o get-docker.sh # $ sh get-docker.sh # # テストビルド(リリース候補)の場合: # $ curl -fsSL test.docker.com -o test-docker.sh # $ sh テストdocker.sh # # 注意: スクリプトの内容を必ず確認してください # ダウンロードしたものはinstall.shの内容と一致します # https://github.com/docker/docker-install にあります # 実行する前に。 # # https://github.com/docker/docker-install から Git コミット # スクリプトがアップロードされました (アップロードジョブによってのみ変更される必要があります): SCRIPT_COMMIT_SHA=36b78b2 # この値は自動的に変更されます: # * 角 # * テスト # * 実験的 DEFAULT_CHANNEL_VALUE="エッジ" if [ -z "$CHANNEL" ]; then チャンネル=$DEFAULT_CHANNEL_VALUE フィ DEFAULT_DOWNLOAD_URL="https://download.docker.com" if [ -z "$DOWNLOAD_URL" ]; then DOWNLOAD_URL=$DEFAULT_DOWNLOAD_URL フィ DEFAULT_REPO_FILE="docker-ce.repo" [ -z "$REPO_FILE" ]の場合; REPO_FILE="$DEFAULT_REPO_FILE" フィ サポートマップ=" x86_64-centos-7 x86_64-フェドラ-26 x86_64-フェドラ-27 x86_64-フェドラ-28 x86_64-debian-ウィージー x86_64-debian-jessie x86_64-debian-ストレッチ x86_64-debian-バスター x86_64-ubuntu-トラスティ x86_64-ubuntu-ゼニアル x86_64-ubuntu-バイオニック x86_64-ubuntu-アートフル s390x-ubuntu-ゼニアル s390x-ubuntu-バイオニック s390x-ubuntu-アートフル ppc64le-ubuntu-ゼニアル ppc64le-ubuntu-バイオニック ppc64le-ubuntu-アートフル aarch64-ubuntu-ゼニアル aarch64-ubuntu-バイオニック aarch64-debian-jessie aarch64-debian-ストレッチ aarch64-debian-バスター aarch64-フェドラ-26 aarch64-フェドラ-27 aarch64-フェドラ-28 aarch64-centos-7 armv6l-raspbian-jessie armv7l-raspbian-jessie armv6l-raspbian-ストレッチ armv7l-raspbian-ストレッチ armv7l-debian-jessie armv7l-debian-ストレッチ armv7l-debian-バスター armv7l-ubuntu-トラスティ armv7l-ubuntu-ゼニアル armv7l-ubuntu-バイオニック armv7l-ubuntu-アートフル 「 ミラー='' DRY_RUN = ${DRY_RUN:-} while [ $# -gt 0 ]; 実行する ケース「$1」 - 鏡) ミラー="$2" シフト ;; --ドライラン) ドライラン=1 ;; --*) echo "不正なオプション $1" ;; エサック シフト $(( $# > 0 ? 1 : 0 )) 終わり ケース「$mirror」 アリユン ダウンロードURL="https://mirrors.aliyun.com/docker-ce" ;; Azure中国クラウド) ダウンロードURL="https://mirror.azure.cn/docker-ce" ;; エサック コマンドが存在する() { コマンド -v "$@" > /dev/null 2>&1 } is_dry_run() { [ -z "$DRY_RUN" ]の場合; 戻り値 1 それ以外 0を返す フィ } 非推奨通知() { ディストリビューション=$1 日付=$2 エコー echo "非推奨の警告:" echo "ディストリビューション $distro は、$date 以降このスクリプトではサポートされなくなります。" echo "これが間違いだと思われる場合は、https://github.com/docker/docker-install/issues/new で問題を提出してください" エコー 睡眠10 } get_distribution() { lsb_dist="" # 公式にサポートしているすべてのシステムには/etc/os-releaseがあります [ -r /etc/os-release ]の場合; lsb_dist="$(./etc/os-release && echo "$ID")" フィ # ここで空の文字列を返しても問題ないはずです。 # case 文は実際の値を指定しない限り動作しません エコー "$lsb_dist" } debian_backport_repo() を追加します debian_version="$1" バックポート="deb http://ftp.debian.org/debian $debian_version-backports main" !grep -Fxq "$backports" /etc/apt/sources.list; の場合 (set -x; $sh_c "echo \"$backports\" >> /etc/apt/sources.list") フィ } echo_docker_as_nonroot() { is_dry_runの場合 戻る フィ コマンドが存在する場合 docker && [ -e /var/run/docker.sock ]; ( -x を設定する $ sh_c 'docker バージョン' ) || 本当 フィ your_user=あなたのユーザー [ "$user" != 'root' ] && your_user="$user" # ここでは意図的にスペースとタブが混在しています -- タブは "<<-EOF" によって削除され、スペースは出力に保持されます echo "Docker を非ルートユーザーとして使用したい場合は、次の点を考慮する必要があります" echo "次のようにしてユーザーを \"docker\" グループに追加します:" エコー echo " sudo usermod -aG docker $your_user" エコー echo "これを有効にするには、ログアウトして再度ログインする必要があることに注意してください。" エコー echo "警告: ユーザーを \"docker\" グループに追加すると、実行権限が付与されます" echo " ルート権限を取得するために使用できるコンテナ" echo "dockerホスト" echo "https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface を参照してください" 詳細については、echo " を参照してください。" } # これがフォークされたLinuxディストリビューションであるかどうかを確認する チェックフォーク() { # lsb_release コマンドの存在を確認します。これは通常、フォークされたディストリビューションに存在します。 command_exists lsb_release; の場合 # `-u` オプションがサポートされているかどうかを確認します +e を設定 lsb_release -a -u > /dev/null 2>&1 lsb_release_exit_code=$? セット-e # コマンドが正常に終了したかどうかを確認します。これは、フォークされたディストリビューションであることを意味します [ "$lsb_release_exit_code" = "0" ]の場合; # 現在のディストリビューションに関する情報を印刷する 猫 <<-EOF '$lsb_dist' バージョン '$dist_version' を使用しています。 終了 # アップストリームリリース情報を取得する lsb_dist=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'id' | cut -d ':' -f 2 | tr -d '[:space:]') dist_version=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'codename' | cut -d ':' -f 2 | tr -d '[:space:]') # アップストリームディストリビューションに関する情報を印刷する 猫 <<-EOF アップストリームリリースは '$lsb_dist' バージョン '$dist_version' です。 終了 それ以外 [ -r /etc/debian_version ] && [ "$lsb_dist" != "ubuntu" ] && [ "$lsb_dist" != "raspbian" ] の場合、 [ "$lsb_dist" = "osmc" ]の場合; # OSMCはRaspbianを実行 lsb_dist=ラズビアン それ以外 # 私たちは Debian ですが、それを知りません! lsb_dist = デビアン フィ dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')" ケース「$dist_version」 9) dist_version="ストレッチ" ;; 8|「カリ・リナックス 2」 ディストリビューションバージョン="jessie" ;; 7) dist_version="喘鳴" ;; エサック フィ フィ フィ } セムバーパース() { メジャー="${1%%.*}" マイナー="${1#$メジャー。}" マイナー="${マイナー%%.*}" パッチ="${1#$メジャー.$マイナー.}" パッチ="${パッチ%%[-.]*}" } ee_notice() { エコー エコー echo "警告: $1は現在Docker EEでのみサポートされています" echo " Docker EE に関する情報については https://store.docker.com を確認してください" エコー エコー } インストール() { echo "# docker インストール スクリプトを実行しています。コミット: $SCRIPT_COMMIT_SHA" command_exists dockerの場合; docker_version="$(docker -v | cut -d ' ' -f3 | cut -d ',' -f1)" メジャー_W=1 マイナー_W=10 semverParse "$docker_version" 警告する=0 [ "$major" -lt "$MAJOR_W" ] の場合; 警告する=1 フィ [ "$major" -le "$MAJOR_W" ] && [ "$minor" -lt "$MINOR_W" ] の場合; 警告する=1 フィ 猫 >&2 <<-'EOF' 警告: このシステムには「docker」コマンドがすでに存在しているようです。 すでにDockerがインストールされている場合、このスクリプトは問題を引き起こす可能性があります。 なぜこの警告を表示し、キャンセルする機会を提供しているのか インストール。 このスクリプトを使用して現在のDockerパッケージをインストールし、それを使用している場合 終了 [ $shouldWarn -eq 1 ]の場合; 猫 >&2 <<-'EOF' Dockerを更新するには、アップグレードする前にイメージストアを移行することをお勧めします。 v1.10+ にアップグレードします。 この手順については、こちらをご覧ください: https://github.com/docker/docker/wiki/Engine-v1.10.0-コンテンツアドレス可能性移行 終了 それ以外 猫 >&2 <<-'EOF' Docker を再度更新したら、このメッセージを無視しても問題ありません。 終了 フィ 猫 >&2 <<-'EOF' このスクリプトを中止するには、Ctrl+C を押してください。 終了 ( -x を設定; スリープ 20 ) フィ ユーザー="$(id -un 2>/dev/null || true)" sh_c='sh -c' [ "$user" != 'root' ] の場合; コマンドが存在する場合、sudo; sh_c='sudo -E sh -c' elif command_exists su; then sh_c='su -c' それ以外 猫 >&2 <<-'EOF' エラー: このインストーラーには、root としてコマンドを実行する機能が必要です。 これを実現するために使用できる「sudo」または「su」が見つかりません。 終了 出口1 フィ フィ is_dry_runの場合 sh_c="エコー" フィ # 非常に基本的なプラットフォーム検出を実行する lsb_dist = $( get_distribution ) lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')" ケース「$lsb_dist」 ウブントゥ) command_exists lsb_release; の場合 dist_version="$(lsb_release --codename | cut -f2)" フィ [ -z "$dist_version" ] && [ -r /etc/lsb-release ]の場合; dist_version="$(./etc/lsb-release && echo "$DISTRIB_CODENAME")" フィ ;; デビアン|ラズビアン) dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')" ケース「$dist_version」 9) dist_version="ストレッチ" ;; 8) ディストリビューションバージョン="jessie" ;; 7) dist_version="喘鳴" ;; エサック ;; セントス) [ -z "$dist_version" ] && [ -r /etc/os-release ]; の場合 dist_version="$(./etc/os-release && echo "$VERSION_ID")" フィ ;; rhel|ol|sles) ee_notice "$lsb_dist" 出口1 ;; *) command_exists lsb_release; の場合 dist_version="$(lsb_release --release | cut -f2)" フィ [ -z "$dist_version" ] && [ -r /etc/os-release ]; の場合 dist_version="$(./etc/os-release && echo "$VERSION_ID")" フィ ;; エサック # これがフォークされたLinuxディストリビューションであるかどうかを確認する チェックフォーク # この構成を実際にサポートしているかどうかを確認します if ! echo "$SUPPORT_MAP" | grep "$(uname -m)-$lsb_dist-$dist_version" >/dev/null; then 猫 >&2 <<-'EOF' あなたのプラットフォームは簡単に検出できないか、このプラットフォームではサポートされていません インストーラー スクリプト。 より詳細なインストール手順については、次の URL をご覧ください。 https://docs.docker.com/engine/installation/ 終了 出口1 フィ # 各ディストリビューションに応じてセットアップを実行します ケース「$lsb_dist」 Ubuntu | Debian | ラズパイ) 前提条件="apt-transport-https ca-certificates curl" [ "$lsb_dist" = "debian" ]の場合; [ "$dist_version" = "wheezy" ] の場合; add_debian_backport_repo "$dist_version" フィ # libseccomp2 は aarch64 の debian jessie メイン リポジトリには存在しません [ "$(uname -m)" = "aarch64" ] && [ "$dist_version" = "jessie" ]; の場合 add_debian_backport_repo "$dist_version" フィ フィ # TODO: 2018年8月31日ここから削除、 [ "$lsb_dist" = "ubuntu" ] && [ "$dist_version" = "artful" ] の場合; deprecation_notice "$lsb_dist $dist_version" "2018 年 8 月 31 日" フィ # TODO: 2018年8月31日ここまで削除、 ! コマンド -v gpg > /dev/null; の場合 pre_reqs="$pre_reqs gnupg" フィ apt_repo="deb [arch=$(dpkg --print-architecture)] $DOWNLOAD_URL/linux/$lsb_dist $dist_version $CHANNEL" ( if ! is_dry_run; then -x を設定する フィ $sh_c 'apt-get update -qq >/dev/null' $sh_c "apt-get install -y -qq $pre_reqs >/dev/null" $sh_c "curl -fsSL \"$DOWNLOAD_URL/linux/$lsb_dist/gpg\" | apt-key add -qq - >/dev/null" $sh_c "echo \"$apt_repo\" > /etc/apt/sources.list.d/docker.list" [ "$lsb_dist" = "debian" ] && [ "$dist_version" = "wheezy" ] の場合; $sh_c 'sed -i "/deb-src.*download\.docker/d" /etc/apt/sources.list.d/docker.list' フィ $sh_c 'apt-get update -qq >/dev/null' ) パッケージバージョン="" if [ ! -z "$VERSION" ]; then is_dry_runの場合、 echo "# 警告: DRY_RUN ではバージョン固定はサポートされていません" それ以外 # 不完全なバージョンの IE (17.12) でも動作しますが、テスト チャネルの場合は実際には「最新」を取得できない可能性があります。 pkg_pattern="$(echo "$VERSION" | sed "s/-ce-/~ce~.*/g" | sed "s/-/.*/g").*-0~$lsb_dist" search_command="apt-cache madison 'docker-ce' | grep '$pkg_pattern' | head -1 | cut -d' ' -f 4" pkg_version="$($sh_c "$search_command")" echo "INFO: バージョン '$VERSION' のリポジトリを検索しています" echo "情報: $search_command" if [ -z "$pkg_version" ]; then エコー echo "エラー: '$VERSION' は apt-cache madison の結果の中に見つかりません" エコー 出口1 フィ pkg_version="=$pkg_version" フィ フィ ( if ! is_dry_run; then -x を設定する フィ $sh_c "apt-get install -y -qq --no-install-recommends docker-ce$pkg_version >/dev/null" ) echo_docker_as_nonroot 終了 0 ;; centos|fedora) yum_repo="$DOWNLOAD_URL/linux/$lsb_dist/$REPO_FILE" if ! curl -Ifs "$yum_repo" > /dev/null; then echo "エラー: リポジトリ ファイル $yum_repo を curl できません。有効ですか?" 出口1 フィ [ "$lsb_dist" = "fedora" ]の場合; [ "$dist_version" -lt "26" ]の場合; echo "エラー: Fedora >=26 のみがサポートされています" 出口1 フィ pkg_manager="dnf" config_manager="dnf config-manager" enable_channel_flag="--set-enabled" 前提条件="dnf-plugins-core" pkg_suffix="fc$dist_version" それ以外 パッケージマネージャ="yum" config_manager="yum-config-manager" enable_channel_flag="--enable" 前提条件="yum-utils" pkg_suffix="el" フィ ( if ! is_dry_run; then -x を設定する フィ $sh_c "$pkg_manager インストール -y -q $pre_reqs" $sh_c "$config_manager --add-repo $yum_repo" [ "$CHANNEL" != "stable" ] の場合; $sh_c "$config_manager $enable_channel_flag docker-ce-$CHANNEL" フィ $sh_c "$pkg_manager メイクキャッシュ" ) パッケージバージョン="" if [ ! -z "$VERSION" ]; then is_dry_runの場合 echo "# 警告: DRY_RUN ではバージョン固定はサポートされていません" それ以外 pkg_pattern="$(echo "$VERSION" | sed "s/-ce-/\\\\.ce.*/g" | sed "s/-/.*/g").*$pkg_suffix" search_command="$pkg_manager list --showduplicates 'docker-ce' | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'" pkg_version="$($sh_c "$search_command")" echo "INFO: バージョン '$VERSION' のリポジトリを検索しています" echo "情報: $search_command" if [ -z "$pkg_version" ]; then エコー echo "エラー: '$VERSION' が $pkg_manager リストの結果の中に見つかりません" エコー 出口1 フィ # エポックを削除し、先頭に「-」を付ける pkg_version="-$(echo "$pkg_version" | cut -d':' -f 2)" フィ フィ ( if ! is_dry_run; then -x を設定する フィ $sh_c "$pkg_manager インストール -y -q docker-ce$pkg_version" ) echo_docker_as_nonroot 終了 0 ;; エサック 出口1 } # 関数でラップされているので、 # 「curl | sh」中にファイルの半分 インストールする chmod +x getdocker.sh ./getdocker.sh -s docker --mirror Aliyun getdocker.shファイルの内容は前のコード領域にあります 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL 5.7.17 圧縮バージョンのインストールノート
Google の Flutter の目標は、どのプラットフォームを使用していても、ネイティブの速度...
競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...
初めてこのエッセイを使ったとき、私はかなりぎこちなく感じましたhtmlファイルコードをコピーコードは...
いろいろ苦労した後、インターネットで検索したり、以前の会社のプロジェクトを探したり、他の人のプロジェ...
1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...
最近、私は毎日論文提案に取り組んでいます。自分のスキルを発揮して、再びWebをデザインしたくてうずう...
まず、コンテナが稼働している必要がありますコンテナのCONTAINER IDは、sudo docke...
1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...
序文この記事では主に、curl を介してフォーム送信ログインを実装する方法について説明します。単一の...
標準 CSS3 を使用して要素の影の効果を実現するには、2 つの手順があります。1 つ目は一般的なb...
Vue でprovide+inject組み合わせを使用するまず、App.vue を変更する必要があ...
目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...
序文データベースは常に私の弱点でした。自分の経験 (python+sqlalchemy) を組み合わ...
ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理...
目次1. バックアップ1.1 万全の準備1.2 追加の準備2 バックアップとリカバリ2.1 データの...