GNU/Linux >> Linux の 問題 >  >> Linux

docker は Linux コンテナー内で実行できますか?

はい、可能です。ただし、aufs 内にネストされた aufs パーティションを持つことはできません。別のシステムをマウントするか、別のストレージ バックエンドを使用する必要があります。

docker の makefile と hack/dind を見ることができます .そのためには、特権モードが必要です。

最も簡単な方法は make shell を実行することです コンテナーに入ったら、新しい docker デーモンを開始できます :)

編集:Kodingを試しましたが、実際には不可能です。コンテナー内で特権を与えられていないため、新しい Docker を開始することはできません。


はい、docker は Linux コンテナーで実行できます。

ただし、docker は lxc でのみ実行されます 実行ドライバーと制限のない

LXC で docker を取得する方法は次のとおりです:

<オール>
  • lxc.aa_profile = lxc-container-default-with-nesting であることを確認してください (うまくいかない場合、またはこのプロファイルを持っていない場合は、lxc.aa_profile = unconfined を試してください ) configapparmor によってブロックされないようにするための LXC のファイル .詳細については、/etc/apparmor.d/lxc のファイルにアクセス (または変更) してください。 .

  • コンテナに lxc をインストールする必要があります。たとえば、ubuntu を使用している場合は、コンテナー apt-get install lxc で実行します。 .

  • docker デーモンが --exec-driver=lxc で呼び出されることを確認します パラメータ。 manualy docker -d --exec-driver=lxc を発行することで、前にテストできます . ubuntu では、起動時に引数を使用するには、単純に /etc/default/docker を編集します。 次の行があることを確認してください:

  • DOCKER_OPTS="--exec-driver=lxc"
    

    更新については、このスレッドに従ってください:https://github.com/docker/docker/issues/6783

    トラブルシューティングが必要な場合:

    • apparmorに注意してください ホストの kern ログに記録します。
    • docker -d ... を起動 出力を手動で取得します。

    注:他の人の回答を判断して Koding の LXC apparmor スクリプトを変更するためにホストを操作できない場合があります。いずれにせよ、LXC プロバイダーである場合、このハウツーは依然として興味深いものであり、あなたが質問で尋ねたより一般的な質問に回答します。質問のタイトルであり、より一般的なシナリオで人々を引き付ける可能性があります (私のように)。


    そして、これは同じボートに乗っている他の人のための完全なガイドです.

    ターミナルを起動し、入力を開始します..

    docker run -i -t --privileged -v /var/lib/docker ubuntu bash
    apt-get update && apt-get install -y docker.io
    service docker.io start
    ln -s /usr/bin/docker.io /usr/local/bin/docker
    docker run -i -t ubuntu bash
    

    これで、別のコンテナー内のコンテナー内にいる必要があります。

    備考:

    <オール>
  • フラグ --privileged そのためには、外側のコンテナに が必要です。
  • -v /var/lib/docker を使用する必要があります creack で言及されている制限を回避するため。
  • ln -s /usr/bin/docker.io /usr/local/bin/docker docker と入力できるように、シンボリック リンクを作成するだけです。 docker.io の代わりに

  • Linux
    1. Linux で Xcode を実行できますか?

    2. プロセスが lxc/Docker 内で実行されているかどうかを判断する方法は?

    3. コンテナー自体から Docker Linux コンテナー情報を取得するにはどうすればよいですか?

    1. DockerコンテナでNginxを実行する方法:ステップバイステップガイド

    2. docker linux コンテナに netstat をインストールする

    3. 軽量の分離 Linux 環境

    1. RockyLinux8にDockerContainerをインストールしてセットアップする方法

    2. Dockerコンテナ内でプログラムを実行する方法は?

    3. DockerコンテナでMySQLを実行する方法