必要なすべてのファイルシステムをバックアップしてsles12マシンのdockerイメージを1つ作成し、tarファイルを1つ作成しました。 Dockerイメージを作成するには、次のコマンドを実行します-
cat fullbackup.tar | docker import - sles_image
その後、以下のコマンドを使用してコンテナーでdockerimageを実行します-
docker run --net network1 -i -t sles_image /bin/bash
注-私はすでにこのDockerコンテナ(必要なIPアドレス)にネットワークを設定しています。
今、私のdockerコンテナーでは、いくつかのアプリケーションが既に構成されています。そのアプリケーションは、このdockerイメージを作成したsles12マシンで使用できるためです。これらのカスタムアプリケーションは、内部で modprobe のようないくつかのカーネル低レベルコマンドを実行しています。
しかし、アプリケーションを起動すると、アプリケーションは正しく起動します。私はこのエラーに直面しています-
操作は許可されていません
このエラーが発生しないように、正しいアクセス許可を与えるにはどうすればよいですか?
ランタイム権限とLinux機能 でDockerコンテナを設定してみてください。
docker run-特権
Dockerの哲学は、アプリケーションをマイクロサービスに分割し、マイクロサービスごとにコンテナーを使用することです。
Dockerコンテナーストレージは永続的ではありません。コンテナを削除すると、データが失われます。データを保持するには、Dockerボリュームを使用するか、マウントをバインドする必要があります。
さて、すべてをやり直して、Dockerコンテナにいくつかのサービスを入れたい場合(非推奨)、少なくともDockerfile
を使用してベースイメージから作成することをお勧めします。 DockerHub(ライブラリ)で利用可能なこれらのベースイメージは、コンテナー化された環境用に最適化されており、そのイメージに適合すると思われるサービスをインストールおよび構成できます。