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

Dockerは、コンテナーを構築して実行するためのツールです。Dockerfile、操作、アーキテクチャに関する質問を受け付けます。本番環境でのdockerの実行に関する質問は、ServerFault(https://serverfault.com/)でより適切な応答を見つける可能性があります。dockerタグが単独で使用されることはめったになく、多くの場合、docker-composeやkubernetesなどの他のタグとペアになります。

7
起動時にMongoDBコンテナ用のDBを作成するにはどうすればよいですか?
私はDockerを使用しており、PHP、MySQL、Apache、Redisのスタックがあります。今すぐMongoDBを追加する必要があるため、Dockerfileで最新バージョンとMongoDB Dockerhubのdocker-entrypoint.shファイルを確認していましたが、デフォルトのDB、管理者ユーザー/パスワード、場合によっては認証を設定する方法が見つかりませんでした。docker-compose.ymlファイルからのコンテナのメソッド。 MySQLでは、たとえば次のようにいくつかのENV変数を設定できます。 db: image: mysql:5.7 env_file: .env environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} これにより、DBとユーザー/パスワードがパスワードとして設定されrootます。 MongoDBで同じことを達成する方法はありますか?誰かが何らかの経験や回避策を持っていますか?

11
dockerエラー:/var/run/docker.sock:そのようなファイルまたはディレクトリはありません
Dockerは初めてです。データをimpalaにロードするシェルスクリプトがあり、実行するDockerファイルでイメージをビルドしてコンテナーを実行する必要があります。私はMacを使用していて、boot2dockerをインストールし、DOCKER_HOSTenvを設定しています。 bash-3.2$ docker info Containers: 0 Images: 0 Storage Driver: aufs Root Dir: /mnt/sda1/var/lib/docker/aufs Dirs: 0 Execution Driver: native-0.2 Kernel Version: 3.15.3-tinycore64 Debug mode (server): true Debug mode (client): false Fds: 10 Goroutines: 10 EventsListeners: 0 Init Path: /usr/local/bin/docker Sockets: [unix:///var/run/docker.sock tcp://0.0.0.0:2375] 以下を使用して、ビルド済みのイメージをインストールしようとしています。 sudo docker pull busybox このエラーが発生します: sudo docker …

6
Nginxをアップストリームプロキシとして使用するようにDockerポートマッピングを構成するにはどうすればよいですか?
アップデートII 今は2015年7月16日で、状況は再び変わりました。Jason Wilderからこの自動魔法のコンテナを発見しました: https://github.com/jwilder/nginx-proxyそしてそれdocker runはコンテナにかかる限りでこの問題を解決します。これが、この問題を解決するために使用しているソリューションです。 更新 今は2015年7月で、Dockerコンテナのネットワーク化に関して状況は劇的に変化しています。現在、この問題を(さまざまな方法で)解決するさまざまな製品があります。 この投稿を使用してdocker --link、サービスディスカバリへのアプローチの基本を理解する必要があります。これは、基本的なものであり、非常にうまく機能し、実際には他のほとんどのソリューションよりも派手なダンスを必要としません。特定のクラスター内の別々のホストでコンテナーをネットワーク化することは非常に困難であり、一度ネットワーク化するとコンテナーを再起動できないという制限がありますが、同じホスト上のコンテナーをネットワーク化するための迅速で比較的簡単な方法を提供します。これは、この問題を解決するために使用する可能性のあるソフトウェアが実際に内部で何をしているのかを知る良い方法です。 さらに、Dockerの初期のnetwork、Hashicorpのconsul、Weaveworks weave、Jeff Lindsayのprogrium/consul&gliderlabs/registrator、およびGoogleのもチェックすることをお勧めします。Kubernetes。 そこもだCoreOSの利用供物etcd、fleetとflannel。 そして、あなたは本当にあなたが実行するには、クラスターをスピンアップすることができパーティーしたい場合Mesosphere、またはDeis、またはをFlynn。 (私のように)ネットワーキングに不慣れな場合は、老眼鏡を取り出し、Wi-Hi-Fiで「PaintThe Sky With Stars — The Best of Enya」をポップして、ビールを割る必要があります。何をしようとしているのかを正確に理解する少し前に。ヒント:にを実装しようとしService Discovery LayerていますCluster Control Plane。土曜日の夜を過ごすのにとてもいい方法です。 それは楽しみがたくさんですが、私はダイビングの直前に、一般的にネットワーキングについてのより良い自分自身を教育するために時間を取らよかっ私は最終的には慈悲深いデジタルオーシャンチュートリアルの神々からのカップルの記事を見つけました:。Introduction to Networking TerminologyとUnderstanding ... Networking。ダイビングする前に、まずそれらを数回読むことをお勧めします。 楽しんで! 元の投稿 Dockerコンテナのポートマッピングがわからないようです。具体的には、同じサーバー上の別のポートでリッスンしているNginxから別のコンテナーにリクエストを渡す方法。 私は次のようなNginxコンテナ用のDockerfileを持っています: FROM ubuntu:14.04 MAINTAINER Me <me@myapp.com> RUN apt-get update && apt-get install -y htop …
86 nginx  docker 

8
Dockerを1.12に更新した後、画像をプル/プッシュできません
プライベートレジストリはdocker1.10.3に基づいて正常に機能しましたが、dockerが1.12.0に更新された後、イメージをプル/プッシュできません。 / etc / sysconfig / dockerを次のように変更しました。 OPTIONS='--selinux-enabled=true --insecure-registry=myip:5000' または OPTIONS='--selinux-enabled=true --insecure-registry myip:5000' しかし、プル/プッシュを実行すると、次のエラーが発生しました: $ docker pull myip:5000/cadvisor Using default tag: latest Error response from daemon: Get https://myip:5000/v1/_ping: http: server gave HTTP response to HTTPS client Dockerを1.10.3に戻しても、以下のように機能します。 $ docker pull myip:5000/cadvisor Using default tag: latest Trying to pull repository myip:5000/cadvisor …

5
dockerがDockerfileをビルドするときにRUNnpmインストール命令をキャッシュする方法
現在、アプリケーション用のノードバックエンドを開発しています。それをドッキングするとき(docker build .)、最も長いフェーズはRUN npm installです。このRUN npm install命令は、サーバーコードが少し変更されるたびに実行されるため、ビルド時間が長くなり、生産性が低下します。 アプリケーションコードが存在する場所でnpminstallを実行し、ADD命令を使用してnode_modulesをコンテナーに追加すると、この問題が解決することがわかりましたが、ベストプラクティスにはほど遠いです。それは、それをドッキングするという考え全体を壊し、コンテナの重量を大幅に増加させます。 他の解決策はありますか?

6
新しい行を保持しながら、Dockerfileで複数行のコマンドを作成するにはどうすればよいですか?
Dockerfileに次のRUNコマンドを書きたい。しかし、dockerは新しいラインを保持していません。 RUN echo "[repo] \ name = YUM Repository \ baseurl = https://example.com/packages/ \ enabled = 1 \ gpgcheck = 0" > /etc/yum.repos.d/Repo.repoxyz \各行の終わりで新しい行をエスケープすることを私は知っています。しかし、新しい行を保持して複数の行を書くことができる方法はありますか?

16
UbuntuのDockerコンテナ内にpipパッケージをインストールできません
私はPythonアプリケーションでdockerを使用するためのfigガイドに従っていますが、dockerがコマンドに到達したとき RUN pip install -r requirements.txt 次のエラーメッセージが表示されます。 Step 3 : RUN pip install -r requirements.txt ---> Running in fe0b84217ad1 Collecting blinker==1.3 (from -r requirements.txt (line 1)) Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/blinker/ これが数回繰り返され、別のメッセージが表示されます。 Could not find any downloads …
86 python  docker  pip  fig 

12
Dockerマシンにローカルボリュームをマウントする方法
docker-composeでdocker-machineを使用しようとしています。docker-compose.ymlファイルの定義は次のとおりです。 web: build: . command: ./run_web.sh volumes: - .:/app ports: - "8000:8000" links: - db:db - rabbitmq:rabbit - redis:redis 実行している場合はdocker-compose up -d、すべてのコマンドを実行しようとまではうまくいくと、エラーが生成されます。 コンテナを起動できませんb58e2dfa503b696417c1c3f49e2714086d4e9999bd71915a53502cb6ef43936d:[8]システムエラー:exec: "./run_web.sh":stat ./run_web.sh:そのようなファイルまたはディレクトリはありません ローカルボリュームはリモートマシンにマウントされていません。webappsのコードを使用してローカルボリュームをマウントするための推奨戦略は何ですか?

18
RHEL上のDockerCE-必要なもの:container-selinux> = 2.9
このリンクDocker CEをRHEL使用してインストールしようとしています。これは私のRHELバージョンです: Red Hat Enterprise Linux Server release 7.3 (Maipo) これを実行すると: sudo yum -y install docker-ce このエラーが発生します: Error: Package: docker-ce-17.06.0.ce-1.el7.centos.x86_64 (docker-ce-stable) Requires: container-selinux >= 2.9 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 使用--skip-brokenしrpm -Va --nofiles --nodigestてみましたが、同じエラーが発生しました。この問題を解決し、RHEL7.3にDockerCEをインストールする方法を教えてください。
85 docker  unix  rhel 

5
Dockerfileでchownが機能しないのはなぜですか?
私のDockerfileはディレクトリを作成し、それをchownし、その後ディレクトリを一覧表示します。ディレクトリはまだrootによって所有されています。何故ですか? Dockerfileは次のとおりです。 FROM ubuntu:precise RUN useradd -d /home/testuser -m -s /bin/bash testuser RUN mkdir -p /var/local/testrunner/logs VOLUME ["/var/local/testrunner/logs"] RUN grep testuser /etc/passwd RUN grep root /etc/passwd RUN chown -R testuser:testuser /var/local/testrunner/logs RUN ls -ld /var/local/testrunner/logs 「dockerbuild」からの出力は次のとおりです。 Sending build context to Docker daemon 10.24 kB Sending build context to Docker daemon …
85 docker  chown 

3
Docker-Composeを使用する場合とDocker-Swarmを使用する場合
Docker-ComposeとDocker-Swarmの違いや類似点を理解しようとしています。 ドキュメントを読むことで、docker-composeは、異なるコンテナーをバインドし、単一のサービスとして共同で動作するメカニズムを提供することを理解しました(2つのコンテナーをリンクするために使用される--linkコマンドと同じ機能を使用していると思います) また、docker-swarmについての私の理解は、それぞれがいくつかのdocker-imagesの複数のコンテナーインスタンスを実行している異なるdocker-hostsのクラスターを管理できることです。接続を、スウォーム内の異なるコンテナー間のオーバーレイネットワークとして定義し(スウォーム内の2つのDockerホストにまたがる場合でも)、それらを1つのユニットとして接続できます。 私が理解しようとしているのは、docker-swarmがdocker-composeに成功し、オーバーレイネットワークがコンテナーを接続するための新しい(推奨される)方法であるということです。 それとも、docker-composeはまだdockerファミリー全体の不可欠な部分であり、それを使用してコンテナーを接続して共同作業を行うことが期待され、推奨されています。もしそうなら、docker-composeは群れの異なるノードにまたがるコンテナで動作しますか? それとも、オーバーレイネットワークは群れの異なるホスト間でコンテナを接続するためのものであり、docker-composeは内部リンクを作成するためのものですか? さらに、dockerのドキュメントに、-linksは推奨されなくなり、まもなく廃止されることが記載されていることもわかりました。 私は少し混乱していますか? どうもありがとう!

14
Dockerエラー:クライアントとサーバーのバージョンが同じではありません
Dockerを1.1.0に更新したばかりなので、次のようになります。 デーモンからのエラー応答:クライアントとサーバーのバージョンが同じではありません(クライアント:1.13、サーバー:1.12) これを修正する方法を知っていますか? 1.0.1に戻したところ、すべてが再び機能します。

13
Dockerコンテナが稼働するのを待つにはどうすればよいですか?
コンテナ内でサービスを実行する場合、たとえばmongodb、コマンド docker run -d myimage すぐに終了し、コンテナIDを返します。CIスクリプトでは、mongoコンテナーを実行した直後に、クライアントを実行してmongodb接続をテストします。問題は、サービスがまだ起動していないため、クライアントが接続できないことです。sleep 10スクリプトにbigを追加する以外に、コンテナーが稼働するのを待つオプションがありません。 Dockerにはwait、コンテナーが存在しないため、その場合は機能しないコマンドがあります。Dockerの制限ですか?
84 mongodb  docker 

3
DockerとPythonvirtualenvの違いは何ですか?
Dockerについて私が理解していることから、Dockerは仮想環境で使用されるツールです。彼らの用語では、それは「コンテナ化」と呼ばれています。これは多かれ少なかれPythonのvirtualenvが行うことです。ただし、Dockerではvirtualenvを使用できます。それで、それは仮想環境内の仮想環境ですか?これがどのように機能するかについて私は混乱しているので、誰かが明確にしてくれませんか?

6
Dockerのenv-fileに相当するKubernetes
バックグラウンド: 現在、サービスにDockerとDockerComposeを使用しています。さまざまな環境の構成を、アプリケーションによって読み取られる環境変数を定義するファイルに外部化しました。たとえば、prod.envファイル: ENV_VAR_ONE=Something Prod ENV_VAR_TWO=Something else Prod およびtest.envファイル: ENV_VAR_ONE=Something Test ENV_VAR_TWO=Something else Test したがって、コンテナを起動するときにprod.envortest.envファイルを使用するだけです。 docker run --env-file prod.env <image> 次に、アプリケーションはで定義された環境変数に基づいて構成を取得しますprod.env。 質問: 次のようにハードコーディングする代わりに、Kubernetesのファイルから環境変数を提供する方法はありますか(ポッドを定義する場合など)。 apiVersion:v1 種類:ポッド メタデータ: ラベル: コンテキスト:docker-k8s-lab 名前:mysql-pod 名前:mysql-pod スペック: コンテナ: - env: - 名前:MYSQL_USER 値:mysql - 名前:MYSQL_PASSWORD 値:mysql - 名前:MYSQL_DATABASE 値:サンプル - 名前:MYSQL_ROOT_PASSWORD 値:超秘密 画像:「mysql:latest」 名前:mysql ポート: - containerPort:3306 …

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