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 のパフォーマンス最適化について話すとき、誰もがクエリ パフォーマンスを向上させる...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

MySQLとRedisでセカンダリキャッシュを実装する方法の詳細な説明

Redis の紹介Redis は完全にオープンソースで無料であり、BSD プロトコルに準拠しており、...

Navicat Premiumを使用してMySQLデータベースにリモート接続する方法

新しい接続を作成する側がクライアントに相当し、接続される側がサーバーに相当します。手順は次のとおりで...

DockerでLinuxシェルコマンドを実行する方法

Docker でシェル コマンドを実行するには、コマンドの前に sh -c を追加する必要があります...

CSS3 の display:grid、グリッドレイアウトの紹介

1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...

MySQL タイムブラインドインジェクションの 5 つの遅延方法

MySQL タイム ブラインド インジェクションの 5 つの遅延方法 (PWNHUB の予期しない解...

Webデザインチュートリアル(2):模倣と盗作について

<br />前回の記事では、Webデザインの手順と方法を紹介しました。詳細については、前...

JavaScript Canvas は動的なワイヤーフレーム効果を描画します

この記事では、JavaScript Canvasの動的なワイヤーフレーム効果を描画する具体的なコード...

HTML の marquee 属性の詳細な説明

このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルでのみサポートされているため、IEカ...

Nginx ロケーションマッチングルールの例

1. 文法 場所 [=|~|~*|^~|@] /uri/ { ... } 2. 説明上記の構文から、...

MySQLでルートユーザーのパスワードを変更する方法

方法1: SET PASSWORDコマンドを使用する mysql> username@loca...

Node.js のワーカー スレッドの詳細な理解

目次概要Node.js における CPU バウンド アプリケーションの歴史CPUを集中的に使用する操...

TomcatはNginxリバースプロキシのクライアントドメイン名を取得します

質問Nginx リバース プロキシの後、Tomcat アプリケーションは、クライアント ブラウザーの...

Windows で mysql 8.0.12 をインストールするための詳細なチュートリアル

この記事では、MySQL 8.0.12のインストール方法に関する詳細なチュートリアルを参考までに紹介...