Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

デフォルトでは、 /etc/default/docker 設定は有効になりません。docker 環境設定に手動で追加する必要があります。設定するファイルは/usr/lib/systemd/system/docker.serviceです。EnvironmentFile EnvironmentFile=-/etc/default/dockerを追加する必要があります。次に、ExecStart 設定で、参照されるパラメーター$DOCKER_OPTSを追加します。ブリッジの設定時に、 /etc/default/dockerに DOCKER_OPTS パラメータを追加したのですが、DOCKER_OPTS パラメータが反映されませんでした。ネット上のチュートリアルがひどすぎました。古いバージョンの Docker を使用していて環境が違っていたからかもしれません。修正した後、全く反映されませんでした。その時はとても焦りました。

docker.サービス

docker.service を構成する場合、EnvironmentFile ファイルはデフォルトで/etc/sysconfig/docker (基本構成)、 /etc/sysconfig/docker-storage storage (ストレージ)、および/etc/sysconfig/docker-network (ネットワーク) で構成されます。/etc/default/docker /etc/default/docker有効にするには、 EnvironmentFile=-/etc/default/dockerを追加し、参照されるパラメータ$DOCKER_OPTS ExecStart 構成に追加する必要があります。以下は、私の構成ファイル/usr/lib/systemd/system/docker.serviceです。

#設定ファイルを変更する vi /usr/lib/systemd/system/docker.service
[ユニット]
説明=Docker アプリケーション コンテナ エンジン
ドキュメント=http://docs.docker.com
後=ネットワーク.ターゲット
欲しいもの=docker-storage-setup.service
必要条件=docker-cleanup.timer

[サービス]
タイプ=通知
通知アクセス=すべて
キルモード=プロセス
#カスタム設定ファイルを追加します EnvironmentFile=-/etc/default/docker #設定ファイルを追加します (- はエラーを無視することを意味します)
環境ファイル=-/etc/sysconfig/docker
環境ファイル=-/etc/sysconfig/docker-storage
環境ファイル=-/etc/sysconfig/docker-network
環境=GOTRACEBACK=クラッシュ
環境=DOCKER_HTTP_HOST_COMPAT=1
環境=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
     --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
     --default-runtime=docker-runc \
     --exec-opt native.cgroupdriver=systemd \
     --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
     $オプション\
     $DOCKER_STORAGE_OPTIONS \
     $DOCKER_NETWORK_OPTIONS \
     $ADD_REGISTRY \
     $ブロックレジストリ\
     $INSECURE_REGISTRY \
     $DOCKER_OPTS #参照する必要があるパラメータ。ネットワークカードの設定パラメータでもある ExecReload=/bin/kill -s HUP $MAINPID
制限NOFILE=1048576
制限NPROC=1048576
LimitCORE=無限大
タイムアウト開始秒数=0
再起動=異常時
マウントフラグ=スレーブ

[インストール]
WantedBy=マルチユーザー.ターゲット
環境ファイル=-/etc/default/docker

変更後、/etc/default/dockerで定義されたDOCKER_OPTSパラメータを使用するには、サービスをリロードして再起動する必要があります。

#リロード systemctl daemon-reload
#dockerサービスを再起動します service docker restart 

這里寫圖片描述

Docker環境設定ファイル

: : ルートディレクトリの/etc/sysconfig/docker
DOCKER_OPTS="-b=br0"

#またはデータを直接書き込む echo 'DOCKER_OPTS="-b=br0"' >> /etc/default/docker

Dockerカスタムブリッジ

#ブリッジツールをインストールします yum install bridge-utils 

#ブリッジを追加する brctl addbr br0

# ブリッジを表示する brctl show 

#ブリッジアドレスとサブネットマスクを設定します ifconfig br0 192.168.110.1 netmask 255.255.255.0

#ブリッジを設定する echo 'DOCKER_OPTS="-b=br0"' >> /etc/default/docker

#Docker の設定
: : vi /usr/lib/systemd/system/docker.service を実行します。
#独自の設定ファイルを追加します EnvironmentFile=-/etc/sysconfig/docker
#アプリケーションパラメータ ExecStart=/usr/bin/dockerd-current \
        --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
        --default-runtime=docker-runc \
        --exec-opt native.cgroupdriver=systemd \
        --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
        $オプション\
        $DOCKER_STORAGE_OPTIONS \
        $DOCKER_NETWORK_OPTIONS \
        $ADD_REGISTRY \
        $ブロックレジストリ\
        $INSECURE_REGISTRY \
        $DOCKER_OPTS #ブリッジパラメータを追加 #リロード systemctl daemon-reload
#dockerサービスを再起動します service docker restart

変更成功後のブリッジ情報

這里寫圖片描述

ブリッジデータを表示

這里寫圖片描述

ブリッジが正常に変更されると、ネットワークカードのネットワークセグメントとサブネットマスクが変更されます。

這里寫圖片描述

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerコンテナ内の設定ファイルの変更の実装
  • DockerコンテナのIPアドレスを表示する方法
  • Linux サーバー上で Docker を使用して .net Core プロジェクトを展開するプロセス全体
  • Docker での RocketMQ の詳細なインストールと使用
  • Docker プライベートリポジトリの管理とローカルリポジトリ内のイメージの削除
  • Dockerイメージをプライベートリポジトリにアップロードする方法の例
  • dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明
  • Dockerでパラメータ変数を外部から指定する方法

<<:  同じページを動的にロードするための Vue ルーティングリスニングの例

>>:  MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]

推薦する

Ubuntu 18.04 コマンドでタッチパッドを無効/有効にする

Ubuntu では、ショートカット キーでタッチパッドをオフにできない状況によく遭遇します。この問題...

MySQLデータベースの管理者パスワードを忘れた場合の解決策

1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...

MySQLでユーザーを作成し、権限を管理する方法

1. ユーザーとパスワードの作成方法1. MySQLデータベースに入る mysql> mysq...

HTML Webページの例を使用してヘッドエリアコードの意味を説明する

例を使って、Webページのヘッダー情報の意味を理解しましょう。 <!DOCTYPE HTML ...

ブラウザのCSS、JavaScript、背景画像のキャッシュをクリアする簡単な方法

実際のプロジェクト開発プロセスでは、ページがサーバーにアップロードされます。サーバーへの負荷を軽減し...

Linux CRM デプロイメント コードの詳細な説明

Linuxの基本設定 Linux環境でpython3をコンパイルしてインストールする 1. Linu...

CentOS7.6にMYSQL8.0をインストールする詳細な手順

1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...

MySQLの使い方の詳細な説明

目次1. はじめに2. 本文2.1 Where句の位置2.2 演算子2.3 NULL値1. はじめに...

Explainキーワードに基づいてMySQLインデックス機能を最適化する方法

EXPLAIN は、MySQL がインデックスを使用して選択ステートメントを処理し、テーブルを結合す...

Nginx+Keepalived でデュアルマシン マスターとバックアップを実装する方法

序文まず、高性能サーバーの高可用性またはホットスタンバイソリューションである Keepalived ...

Linux の MySQL 設定の変更が有効にならない問題の解決方法

背景AWS EC2 を使用するプロジェクトサービスがあります。セキュリティとパフォーマンスを考慮して...

Vueはビデオ再生を実装するためにビデオタグを使用します

この記事では、ビデオタグを使用してビデオ再生を実装するVueの具体的なコードを参考までに共有します。...

MySQL 中断された接続警告ログの分析

序文:場合によっては、MySQL に接続されたセッションが異常終了することが多く、エラー ログに「通...

Zabbix ベースの Jenkins プロセス監視の詳細な説明

1. 監視アーキテクチャ図 2. 実装のアイデアJenkins に Metrics プラグインをイン...

Vueプロジェクトのパッケージングと展開の実際のプロセスの記録

目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...