12

Kodingは、複数のユーザーがソフトウェア開発で共同作業するための仮想マシンを作成する共同プログラミング環境です。Linux コンテナーを使用してマシンを仮想化します。docker をインストールできません:

tiagoboldt@vm-2:~$ sudo docker build -t mongo .       
[sudo] password for tiagoboldt:          
Uploading context 645.1 kB
Uploading context 
Step 0 : FROM ubuntu:latest                                                                                                                                                                                      
Pulling repository ubuntu                                                                                                                                                                                        
9cd978db300e: Error pulling image (latest) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Driver aufs failed to get image rootfs 6170bb7b0ad1003a827e4dc5253ba49f6719599eac485db51eaafd507c13c311: 
9cd978db300e: Error pulling image (latest) from ubuntu, Driver aufs failed to get image rootfs 6170bb7b0ad1003a827e4dc5253ba49f6719599eac485db51eaafd507c13c311: permission denied                               
6170bb7b0ad1: Error downloading dependent layers                                                                                                                                                                 

2014/02/28 03:32:55 build: pull: Could not find repository on any of the indexed registries.

ドッカーをインストールするための回避策を提案できる人はいますか?

4

5 に答える 5

22

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

ただしlxc、docker は実行ドライバーを使用し、限定されていないlxc でのみ実行されます。

したがって、LXC で docker を取得する方法は次のとおりです。

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

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

  3. パラメーターを使用して 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 プロバイダーである場合、このハウツーは依然として興味深いものであり、あなたが質問で尋ねたより一般的な質問に回答します。質問のタイトルであり、より一般的なシナリオで人々を引き付ける可能性があります(私のように)。

于 2014-09-17T08:25:57.510 に答える
5

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

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

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

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

備考:

  1. --privilegedこれを実現するには、外側のコンテナーにフラグが必要です。
  2. -v /var/lib/dockercreack で言及されている制限を回避するために使用する必要があります。
  3. ln -s /usr/bin/docker.io /usr/local/bin/dockerdocker代わりに入力できるように、シンボリックリンクを作成するだけですdocker.io
于 2014-08-07T09:26:30.803 に答える
1

これは、Terminal.com 内で行うことができます。

ターミナルを起動して、https ://blog.terminal.com/docker-without-containers-pulldocker/ を実行するだけです。

注: 私は Terminal.com で働いています。私たちはコンテナ技術の非 LXC、非 libcontainer 実装を使用します (たとえば、AUFS の制限はありません)。私たちは完全な Linux マシンのように機能するコンテナーを作ろうとしています。やってみて。

于 2015-03-16T21:19:51.817 に答える