タグ付けされた質問 「docker」

Dockerは、アプリケーションのコンテナーを作成するためのアプリケーションです。


5
64ビットのUbuntuでパッケージ `docker-ce`が見つかりません
公式のインストールガイドに従って、 Ubuntu 64マシンにDockerをインストールしようとしています。 残念ながら、Ubuntuはdocker-ceパッケージを見つけることができないようです。それを修正するか、少なくとも何が起こっているかを追跡するためのアイデアはありますか? ここであなたのためのいくつかの詳細... $ uname --all; sudo grep docker /etc/apt/sources.list; sudo apt-get install docker-ce Linux ubuntu 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable. # deb-src [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable. Reading package lists... Done Building dependency tree Reading …

4
SIGTERMをBashの子に転送する
次のようなBashスクリプトがあります。 #!/bin/bash echo "Doing some initial work...."; /bin/start/main/server --nodaemon これで、スクリプトを実行しているbashシェルがSIGTERMシグナルを受信した場合、実行中のサーバーにSIGTERMも送信する必要があります(ブロックされるため、トラップは不可能です)。それは可能ですか?
86 bash  shell  signals  docker 

3
4.3カーネルで「リソースが一時的に利用不可」でスレッドの作成が失敗する
いくつかのコンテナでArch Linux(カーネル4.3.3-2)でdockerサーバーを実行しています。前回の再起動以来、ドッカーサーバーとコンテナ内のランダムプログラムの両方がクラッシュし、スレッドを作成できない、または(あまり頻繁ではありませんが)フォークするというメッセージが表示されます。特定のエラーメッセージはプログラムによって異なりますが、それらのほとんどは特定のエラーに言及しているようですResource temporarily unavailable。エラーメッセージの例については、この投稿の最後をご覧ください。 今、このエラーメッセージを受け取った人がたくさんいますし、彼らへの応答もたくさんあります。本当にイライラするのは、誰もが問題を解決する方法を推測しているように見えることですが、問題の多くの考えられる原因のどれが存在するかを特定する方法を誰も指摘していないようです。 エラーの考えられる5つの原因と、それらがシステムに存在しないことを確認する方法を収集しました。 /proc/sys/kernel/threads-max(source)で設定されるスレッドの数にはシステム全体の制限があります。私の場合、これはに設定されてい60613ます。 すべてのスレッドはスタック内のスペースを使用します。スタックサイズの制限はulimit -s(source)を使用して構成されます。私のシェルの制限があることに使用される8192が、私は置くことによって、それが増加している* soft stack 32768に/etc/security/limits.confので、ulimit -s今戻ります32768。私も入れてドッキングウィンドウのプロセスのためにそれを増加しているLimitSTACK=33554432に/etc/systemd/system/docker.service(ソース、と私は限界が覗くことで適用されていることを確認/proc/<pid of docker>/limitsし、実行することにより、ulimit -sドッキングウィンドウコンテナ内。 すべてのスレッドはいくらかのメモリを消費します。仮想メモリの制限は、を使用して構成されますulimit -v。私のシステムではに設定されてunlimitedおり、3 GBのメモリの80%が無料です。 を使用するプロセスの数には制限がありますulimit -u。この場合、スレッドはプロセスとしてカウントされます(source)。私のシステムでは、制限はに設定されて30306おり、Dockerデーモンおよび内部のdockerコンテナの場合、制限は1048576です。現在実行中のスレッドの数は、実行ls -1d /proc/*/task/* | wc -lまたは実行ps -elfT | wc -l(source)によって確認できます。私のシステムでは、それらはとの間に700あり800ます。 開いているファイルの数には制限があります。一部のソースによると、これはスレッドを作成するときにも関係します。制限はを使用して設定されますulimit -n。私のシステムと内部ドッカーでは、制限がに設定されてい1048576ます。開いているファイルの数はlsof | wc -l(source)を使用して調べることができます30000。私のシステムでは約です。 最後のリブート前にカーネル4.2.5-1を実行していたように見えますが、現在は4.3.3-2を実行しています。4.2.5-1にダウングレードすると、すべての問題が修正されます。この問題に言及している他の投稿はthisとthisです。Arch Linuxのバグレポートを開きました。 これを引き起こしている可能性のあるカーネルの変更点は何ですか? エラーメッセージの例を次に示します。 Crash dump was written to: erl_crash.dump Failed to create aux thread …
39 linux  docker  limit  fork  thread 


2
Dockerコンテナー内のプロセスはどのように見えますか?
最近、Dockerコンテナの内部、つまり、Dockerコンテナ内で呼び出すコマンドとプロセスに関して、Dockerコンテナとは何か、より具体的には内部で何が起こっているのかについて、混乱が何度か起きていると聞きました。 誰かが何が起こっているのかについての高レベルの概要を提供してください

2
Dockerコンテナーがホストのネットワークポートに自由にアクセスできるようにCentos 7 firewallDを構成する方法
CentOS 7にdockerをインストールし、firewallDを実行しています。 コンテナ内からホストに移動します(デフォルトは172.17.42.1) ファイアウォールがオンの場合 container# nc -v 172.17.42.1 4243 nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host ファイアウォールのシャットダウンあり container# nc -v 172.17.42.1 4243 Connection to 172.17.42.1 4243 port [tcp/*] succeeded! firewalldに関するドキュメントを読みましたが、完全には理解していません。ホストへの無制限のアクセスをドッカーコンテナー(docker0アダプターで推測します)内のすべてを単純に許可する方法はありますか?

2
Docker —警告:スワップ制限サポートなし
Ubuntu 16.04でDocker(1.9.1)を実行しています。私は実行するとdocker info、出力の最後の行は述べていますWARNING: No swap limit support。 INFO[0781] GET /v1.21/info Containers: 0 Images: 0 Server Version: 1.9.1 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 0 Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 4.4.0-62-generic Operating System: Ubuntu 16.04.1 LTS (containerized) CPUs: 2 Total Memory: …
29 swap  docker 

9
デーモンの実行中に「Dockerデーモンに接続できません」と表示されるのはなぜですか?
Dockerサービスは明らかに実行されています。 $ systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2015-12-28 19:20:50 GMT; 3 days ago Docs: https://docs.docker.com Main PID: 1015 (docker) CGroup: /system.slice/docker.service └─1015 /usr/bin/docker daemon -H fd:// --exec-opt native.cgroupdriver=cgroupfs $ ps wuf -u root …

1
LXCコンテナーの内外のユーザー許可
サーバー上のDocker LXCコンテナー内でいくつかのサービスを実行しており、実際にそれらのサービスで深刻なことを始めています。 私が明確にしていないことの1つは、コンテナの内外でユーザーのアクセス許可がどのように機能するかです。たとえば、MySQLをコンテナで実行し、そのデータディレクトリを/dataDockerボリュームであるに設定している場合、コンテナ内外のアクセス許可はアクセスポリシーにどのように影響しますか? 明らかに、MySQLをコンテナ内で独自のユーザー(つまりmysql:mysql)として実行し、そのディレクトリに対する読み取り権と書き込み権を付与することです。これはかなり簡単でchmod、ディレクトリなどを入力するだけだと思います。しかし、これはコンテナの外でどのように機能しますか?「データ」と呼ばれるこのDocker共有ボリュームがあるので、アクセス制御をどのように管理しますか? 私は、MySQL共有ボリュームに定期的にアクセスしてデータをバックアップするDockerコンテナの外部で、権限のないユーザーを実行できることを特に探しています。 ホスト上の特定のユーザーがDocker共有ボリュームのファイルとフォルダーを読み書きできるように、アクセス許可、ユーザー、およびグループを設定するにはどうすればよいですか?

4
Dockerイメージからファイルを抽出しますか?
イメージを実行せずにDockerイメージからファイルを抽出したいと思います。 このdocker saveオプションは、特定のファイルをun-tarするためだけに大量のファイルを保存するため、現在のところ私にとって実行可能なオプションではありません。
24 docker 

4
`curl | sh`と `sh -c“ $(curl)”`?
この質問は、UnixおよびLinux Stack Exchangeで回答できるため、Server Faultから移行されました。 2年前に移行され ました。 (たとえば)Dockerの簡単なインストール方法の1つは次のとおりです。 curl -sSL https://get.docker.com/ | sh ただし、次のようなものも見ました(Dockerの例を使用): sh -c "$(curl -sSL https://get.docker.com/)" 機能的には同じように見えますが、一方を他方よりも使用する理由はありますか?それとも、単に好み/美学のものですか? (注意してください、未知の起源からスクリプトを実行するとき、非常に注意してください。)

1
Dockerコンテナーからファイルをプルしますか?
を介してDockerコンテナーにファイルを挿入できることがわかりますinsert。 docker insert IMAGE URL PATH Dockerコンテナ内のファイルの内容を取得し、ホストオペレーティングシステム上のどこかに保存する方法はありますか?構成ファイルの値を抽出して、ホストオペレーティングシステムに保存したいと思います。
20 linux  docker 

3
Dockerは「デバイスにスペースが残っていません」と言いますが、システムには十分なスペースがありますか?
私は他のシステムで動作するドッカーイメージを実行しようとしています(そして、あなたが望むなら、ドッカーハブからそれを引き出すことさえできます:それはdougbtv/asterisk)ですが、私の一般的なワークステーションでは、それが空きスペースについて不平を言っています(のように見えます) Dockerイメージを展開しています。 実行しようとすると、スペースが不足しているというエラーが表示されます。実行しようとしている例がありますが、それはスペースについて不平を言っています。 [root@localhost docker]# docker run -i -t dougbtv/asterisk /bin/bash Timestamp: 2015-05-13 07:50:58.128736228 -0400 EDT Code: System error Message: [/usr/bin/tar -xf /var/lib/docker/tmp/70c178005ccd9cc5373faa8ff0ff9c7c7a4cf0284bd9f65bbbcc2c0d96e8565d410879741/_tmp.tar -C /var/lib/docker/devicemapper/mnt/70c178005ccd9cc5373faa8ff0ff9c7c7a4cf0284bd9f65bbbcc2c0d96e8565d/rootfs/tmp .] failed: /usr/bin/tar: ./asterisk/utils/astdb2sqlite3: Wrote only 512 of 10240 bytes /usr/bin/tar: ./asterisk/utils/conf2ael.c: Cannot write: No space left on device /usr/bin/tar: ./asterisk/utils/astcanary: Cannot write: No space …

2
JenkinsのDockerコンテナーでビルドを実行する方法
Jenkinsを使用して、DockerコンテナでC ++プロジェクトを構築しようとしています。Jenkinsでのビルド、またはJenkinsの外のコンテナでのビルドに問題はありません。 以下は私が試したものです。わかりやすくするために、ボリュームマッピングを省略しています。 事例1 次のコマンドは、シェルでビルドを正常に実行します。 docker run --rm --interactive=true --tty=true $IMAGE make ただし、Jenkinsで「シェルの実行」ステップとして実行すると、Dockerは次のエラーを返します。 cannot enable tty mode on non tty input 事例2 次のコマンドは前のものと似ていますが、対話機能を無効にします。 docker run --rm $IMAGE make Jenkinsはビルドを正常に実行できます。ただし、ビルドを中止すると深刻な問題が発生します。ビルドは直ちに中止としてマークされますが、コンテナはビルドが完了するまで実行を続けます。また、コンテナは終了後に削除されません。 シェルで実行すると、コマンドは正常にビルドされますが、コマンドを中断することはできません。また、コンテナは終了後に削除されます。 質問 JenkinsのDockerコンテナでビルドをきれいに実行し、ビルドを中止する機能を保持する方法を誰もが知っていますか? Docker呼び出しはスクリプト内にあり、簡単に抽出できないため、Jenkinsプラグインを使用することはオプションではありません。
18 tty  docker  pty  jenkins 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.