docker --privileged=true パラメータの役割についての簡単な説明

docker --privileged=true パラメータの役割についての簡単な説明

バージョン 0.6 あたりで、Docker に privileged が導入されました。

このパラメータを使用すると、コンテナ内のルートに実際のルート権限が与えられます。

それ以外の場合、コンテナ内のルートには外部の通常のユーザーの権限のみがあります。

特権で起動されたコンテナは、ホスト上の多くのデバイスを認識し、マウントすることができます。

Docker コンテナ内で Docker コンテナを起動することもできます。

$ docker ヘルプを実行 
...
--privileged=false このコンテナに拡張権限を与える
...

これはMySQLの例です

起動コマンドに --privileged=true パラメータを追加していません。Docker がコンテナを実行しようとしていることは明らかですが、すぐに閉じてしまいます。

注文

docker run --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 -p 9092:3306 -d daocloud.io/library/mysql:5.7.6

いくつかのコマンドを使用しようとすると、プロンプトの権限が拒否され、権限が禁止されます

パラメータコマンドを追加した後

docker run --name mysql-test --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -p 9092:3306 -d daocloud.io/library/mysql:5.7.6 

コマンドを正常に実行しました

コンテナは権限なしで起動されました:

[root@localhost ~]# docker run -t -i centos:latest bash
[ルート@ed8fee643129 /]# lsblk 
lsblk: dm-0: デバイス パスの取得に失敗しました
lsblk: dm-1: デバイス パスの取得に失敗しました
lsblk: dm-0: デバイス パスの取得に失敗しました
lsblk: dm-1: デバイス パスの取得に失敗しました
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
vda 252:0 0 80G 0 ディスク 
|-vda1 252:1 0 1G 0 部分 
`-vda2 252:2 0 79G 0 部分 
vdb 252:16 0 200G 0 ディスク 
|-vdb1 252:17 0 50G 0 パーツ 
|-vdb2 252:18 0 50G 0 パーツ 
`-vdb3 252:19 0 100G 0 部分 
[root@ed8fee643129 /]# /dev/vdb3 /mnt/ をマウントします
マウント: 権限が拒否されました

コンテナを特権として起動するように設定します。

[root@docker ~]# docker run -t -i --privileged centos:latest bash
[ルート@f83ce3877aa1 /]# 
[ルート@f83ce3877aa1 /]# 
[root@f83ce3877aa1 /]# /dev/vdb3 /mnt/ をマウントします
[root@f83ce3877aa1 /]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
オーバーレイ 77G 25G 52G 33% /
tmpfs 64M 0 64M 0% /dev
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 77G 25G 52G 33% /etc/hosts
shm 64M 0 64M 0% /dev/shm
/dev/vdb3 100G 33M 100G 1% /月
[ルート@f83ce3877aa1 /]# 

docker --privileged=true パラメータの役割に関するこの記事はこれで終わりです。docker --privileged=true に関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • docker run 起動パラメータ コマンドを表示する方法 (推奨)
  • Dockerでパラメータ変数を外部から指定する方法
  • Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

<<:  jQuery はシャッター効果を実現します (li 配置を使用)

>>:  MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

推薦する

LinuxカーネルとSVNバージョン間の競合の解決策

現象システムは Linux システムカーネルを正常にコンパイルできましたが、SVN をインストールし...

MySQL ストアド プロシージャで if ステートメントを使用する詳細な例

この記事では、例を使用して、MySQL ストアド プロシージャでの if ステートメントの使用方法を...

MAC+PyCharm+Flask+Vue.js ビルドシステム

目次node.js+nvm+npm を設定するnpmスイッチタオバオミラーVue.jsをインストール...

NavicatがMySQLに接続すると、10060、1045エラーとmy.iniの場所が報告されます。

Navicat は、データベースに接続するときにエラー 10060 および 1045 を報告します...

Dockerfile をベースに Zabbix 監視システムのコード例を作成する

forループを使用してZabbixイメージをコンテナにインポートします。 n を `ls *.tar...

HTML マルチメディア アプリケーション: Web ページにフラッシュ アニメーションと音楽を挿入する

1. HTML_falshアニメーションでのマルチメディアの応用(WebページへのFlashアニメー...

Linux 基本チュートリアル: 特別な権限 SUID、SGID、SBIT

序文Linux のファイルまたはディレクトリの権限については、共通の rwx 権限を知っておく必要が...

本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明

序文アプリケーションのバグや DBA の誤操作が発生した場合、テーブル全体が更新される可能性がありま...

Centos7 で mysqldump を使用して MySQL データベースの毎日の自動バックアップを作成する

1. 要件:データベースのバックアップは、実稼働環境にとって特に重要です。データベースのバックアップ...

Ajax は CORS レスポンス ヘッダーを設定してクロスドメインの問題を解決し、クロスドメインのケース スタディを実現します。

1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...

複数の Docker コンテナが同じポート番号を持たない場合の解決策

背景Dockerでは、同じイメージを使用して4つのコンテナを作成します。ネットワークはブリッジモード...

暗号化における https の Apache 展開の概要

目次目的実験環境実験原理実験手順1. 独立したCAを生成する2. サーバーの秘密鍵と署名要求ファイル...

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...

MYSQL接続ポートが占有され、ファイルパスエラーが発生する問題を解決します

今朝、私は Wampserver を使用してローカルの win7 マシン上に PHP 環境を構築し、...