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の文字セット設定方法(端末の文字セット)の詳しい説明

推薦する

MySQL トリガーの紹介、トリガーの作成、使用制限の分析

この記事では、例を使用して、MySQL トリガーの概要、トリガーの作成方法、およびトリガーの使用上の...

HTML でマウスが停止したときに行全体の色 (tr) を変更する方法

純粋な CSS を使用して、マウスが行の上を通過するときに行の背景色を変更し、その行にフォーカスがあ...

MySQL マスタースレーブレプリケーションの実践の詳細説明 - GTID ベースのレプリケーション

GTIDベースのレプリケーション導入GTID ベースのレプリケーションは、MySQL 5.6 以降に...

MySQL 最適化: キャッシュ最適化 (続き)

MySQL 内部には至るところにキャッシュがあります。MySQL のソースコードを読むと、キャッシ...

IE ラベル LI テキスト折り返し問題について

私は長い間この問題に悩まされていましたが、検索してみたところ、実際にこの問題を解決した人がいることが...

JavaScript ベースの Web 計算機の実装

この記事では、ウェブ計算機のマインスイーパゲームを実装するためのJavaScriptの具体的なコード...

異なる列を持つテーブルのクエリ結果のSQLマージ操作

2 つの異なるテーブルをクエリするには、結果をマージする必要があります。たとえば、table1 の列...

Mysql マルチテーブル結合クエリの実行の詳細について簡単に説明します。

まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...

jsはシングルクリックでテーブルを変更することを実装します

Pure jsは、参照用にワンクリックで編集可能なテーブル(トランスクリプトに似たもの)を実装してい...

HTML面接の質問の要約

1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...

Linux で Bash コマンド プロンプトをカスタマイズする方法

序文ご存知のとおり、bash (Bourne-Gain Shell) は、ほとんどの Linux デ...

Vueでフォーム検証を実装する方法

1. インストールと使用まず、Vue プロジェクトにインストールします。 npm インストール --...

HTML にネストされた div の無効なマージンに対する解決策

div がネストされているときに margin が機能しない問題の解決策を次に示します。さて、マージ...

Mysql のデッドロックの表示とデッドロックの除去の詳細な説明

序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...

Vue フィルターの実装と適用シナリオの詳細な説明

1. 簡単な紹介Vue.js を使用すると、一般的なテキストの書式設定に使用できる独自のフィルターを...