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

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

1
jsonベースのプラグインの「Dockerプラグインのインストール」方法
私はまったく新しいボリュームプラグインに取り組んでおり、すべてのボリュームテストテストに合格する必要があります。そして、最初のテストであるを除くすべてのテストが(プラグインがインストールされた環境で)成功していますdocker plugin install。問題は、カスタムプラグインをインストールする方法が3つあることです。 .sockファイルはUNIXドメインソケットです。 .specファイルは、unix:///other.sockやtcp:// localhost:8080などのURLを含むテキストファイルです。 .jsonファイルは、プラグインの完全なjson仕様を含むテキストファイルです。 そして、JSONを使用します。これは、RESTサーバー実装のドッカーAPI(Java、Springで記述)です。インストールプロセスは簡単です/etc/docker/plugins。json ファイルをコピーするだけで、dockerdが自動的に検出します。 プラグインをdocker plugin installコマンドに統合しようとすると問題が発生します。ここで述べたように: Dockerは最初にDockerホスト上のプラグインを探します。プラグインがローカルに存在しない場合、プラグインはレジストリから取得されます。 インストールプロセスでは、プライベートまたはパブリックレジストリへの接続を想定していないdocker plugin createため、プラグインをローカルで作成するために最初のコマンドが必要です。そして、これは、jsonベースのプラグインでそれを行う方法に頭を抱えるのに苦労しているところです。このドキュメントに従って、プラグインへのパスを指定する必要があります。私がディレクトリ名を使用する場合、それはディレクトリ内に存在するものconfig.jsonと想定さrootfsれます。 BUT 1.- config.jsonこれは.sock形式であり、.json形式ではない形式の構成を説明する構成です(間違っている場合は修正してください) 2. rootfsを作成する方法と、プラグインがスタンドアロンRESTである場合になぜ必要なのかサービスとそれはコンテナにもありませんか? どんな助けにも感謝します。
9 java  spring  docker 

3
standard_init_linux.go:211:execユーザープロセスが「exec形式エラー」を引き起こした
以下のminikube windows 10システムで実行されるpythonスクリプト用のDockerfileを構築していますが、これは私のDockerfileです 以下のコマンドを使用してドッカーを構築する docker build -t python-helloworld . そしてそれをminikube docker demonにロードします docker save python-helloworld | (eval $(minikube docker-env) && docker load) Dockerファイル FROM python:3.7-alpine #add user group and ass user to that group RUN addgroup -S appgroup && adduser -S appuser -G appgroup #creates work dir WORKDIR /app #copy …

5
「ClusterRoleBinding” kubernetes-dashboard“ is invalid:roleRef:Invalid value” Web UIをデプロイするとき
ここで説明するようにKubernetes Web UIをデプロイしようとしています:https : //kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ 私のシステム構成は次のとおりです。 $ uname -a Linux debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux $ /usr/bin/qemu-system-x86_64 --version QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-8+deb10u3) Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers $ minikube version minikube version: v1.5.2 commit: 792dbf92a1de583fcee76f8791cff12e0c9440ad-dirty $ kubectl version Client …

2
Dockerイメージのサイズを計算するためのソースコードを見つける
この数は、画像内に追加されるレイヤーのすべてのサイズと同じではないと聞きました。また、それが占有するディスク領域のサイズでもありません。 ここで、ソースコード(このリポジトリのhttps://github.com/docker/docker-ce)でロジックを確認したいと思います。しかし、コードを何度もナビゲートした後、実際のimag-sizeコンピューティングコードを見つけることができなかったことがわかりました。 では、Dockerはサイズロジックの実行にどの関数/ファイルを使用していますか?
8 docker  go  docker-ce 

1
ドッカー画像を文書化する方法
実行をカスタマイズするための環境変数のセットを受け取るDockerイメージがあります。 簡単な例は、OAuth2のクライアントシークレット、Cookieに署名するためのシークレットなどのWebサーバーです。 アプリ全体が、(ランタイム)環境変数を受け取るDockerイメージにコンテナ化されます。 私はそのdockerイメージをプライベートレジストリで配布しています。ユーザーがイメージをカスタマイズする方法を理解できるように、そのイメージを文書化したいと思います。 たとえば、docker describe my_image出力マークダウンを使用してstdoutに出力するアノテーションを、Dockerイメージの一部として出荷することはでき ますか? もちろん、ドキュメントのWeb上の静的ページを使用することもできますが、ユーザーはそのドキュメントがどこにあるかを知る必要があり、配布全体がこのように複雑になります(たとえば、イメージタグによるドキュメントの変更)。 何か案は?
8 docker 

4
Dockerコンテナー内でホストするルートがない
ポート9000の特定のURLにアクセスする必要があるWindows 10マシンでDebian Dockerコンテナーを実行しています(164.16.240.30:9000) ホストマシンはブラウザから問題なくアクセスできますが、ターミナルにログインして実行するwget 172.17.240.30:9000と、が表示されfailed: No route to hostます。 これを解決するために私は追加しました: ports: - 9000:9000 docker-compose.ymlファイルに変更しますが、違いはないようです。 私がこれに慣れていないとわからない場合は、次に何を試してみますか? docker-compose.ymlファイル全体: version: '3.4' services: tokengeneratorapi: network_mode: host image: ${DOCKER_REGISTRY}tokengeneratorapi build: context: . dockerfile: TokenGeneratorApi/Dockerfile ports: - 5000:80 - 9000 environment: ASPNETCORE_ENVIRONMENT: local SSM_PATH: /ic/env1/tokengeneratorapi/ AWS_ACCESS_KEY_ID: AWS_SECRET_ACCESS_KEY: 私が実行しているコマンド: docker-compose build --build-arg BRANCH=featuretest --build-arg CHANGE_ID=99 --build-arg CHANGE_TARGET=develop …

1
Dockerコンテナー内のwebpack-dev-serverアプリケーションをデバッグする
私はwebpack-dev-serverDockerコンテナー内でNestjsアプリケーションを実行するために使用しています。すべてが稼働していますが、VS Codeインスタンスからアプリケーションをデバッグできません。私はこの設定を使用して9229ポートを公開しようとしていますwebpack.config.js: devServer: { host: '0.0.0.0', port: 9229, }, netstat -lコンテナー内で実行すると、ノードが9229ポートをリッスンしていないことがわかります。 Dockerfileおよびdocker-composeファイルでポート9229を公開しています。Dockerfile: FROM node:12.16.1-alpine WORKDIR /usr/src/app COPY package.json yarn.lock ./ RUN yarn COPY . . EXPOSE 3000 EXPOSE 9229 CMD [ "yarn", "run", "start:debug"] そしてdocker-compose.ymlファイル: version: '3.7' services: open-tuna-api: image: opentunaapi ports: - 3000:3000 - 9229:9229 volumes: - ./dist:/usr/src/app/dist - …

2
HMRがDockerのLaravel Mixで機能しない
Dockerコンテナ内のLaravel MixでHot Module Reloadingを設定する際にいくつか問題があります。 次のDockerfileがあります。 FROM php:7.4.0-fpm RUN curl -sL https://deb.nodesource.com/setup_13.x | bash RUN apt-get update && \ apt-get install -y -q --no-install-recommends \ nano apt-utils curl unzip default-mysql-client nodejs build-essential git \ libcurl4-gnutls-dev libmcrypt-dev libmagickwand-dev \ libwebp-dev libjpeg-dev libpng-dev libxpm-dev \ libfreetype6-dev libaio-dev zlib1g-dev libzip-dev && \ echo 'umask …

4
DockerでVSから実行しようとすると、エラー「getcwd()が失敗しました:そのようなファイルまたはディレクトリはありません」
docker-composeを使用してDockerでローカルに実行するように設定されたプロジェクトがあります。最近まで、問題なく動作しています。私はこれに影響するはずの何かを変更したとは思わない(おそらくVSのアップグレードを除いて?)、そして古いコミットにロールバックすることを試みた。すべての場合において、Visual Studioの出力ウィンドウに次のように表示されるエラーメッセージが表示されます。 docker exec -i f93fb2962a1e sh -c ""dotnet" --additionalProbingPath /root/.nuget/packages --additionalProbingPath /root/.nuget/fallbackpackages "bin/Debug/netcoreapp3.1/MattsTwitchBot.Web.dll" | tee /dev/console" sh: 0: getcwd() failed: No such file or directory It was not possible to find any installed .NET Core SDKs Did you mean to run .NET Core SDK commands? Install a .NET Core …

1
Javaアプリケーションを実行しているマルチDockerコンテナーのAWS Elastic Beanstalk環境にメモリを動的に割り当てる方法
無料のエラスティックbeanstalk層から可能な限りのオンスの使用を絞り出したいと思います。 私のバックエンドは、(ktorを使用して)マイクロサービスのセットとして構築されています。正確には5つのマイクロサービスがあります。これらはすべてドッキングされており、マルチDocker イメージ環境で同じ小さなt2.micro(無料)エラスティックBeanstalkインスタンス上ですべて実行しようとしています JavaはJavaなので、最も単純なマイクロサービスでも、Dockerコンテナーごとに約200 MBのRAMをアイドル状態にするのが好きです。 したがって、t2.microは1GBのRAMを提供します。5つのマイクロサービスDockerコンテナーがあり、それぞれに少なくとも200 MBを要求する=本当に近い。 問題は、メモリがほぼ常に100%に激しくホバリングしていることです。 では、どれだけの空きがあり、どれだけ必死に1つのコンテナがメモリを必要としているかに応じて、Dockerコンテナにメモリを動的に割り当てる方法はありますか? 1つのコンテナーが重い負荷をかけている間に、他のコンテナーはほとんどアイドル状態になっているとしたら、RAMを重いタスクを実行しているコンテナーに向け、タスクが終了したら、コンテナーごとの等しいRAM割り当てに戻します。 これを行う方法はありますか?

6
DockerでのGradleビルドが遅い。Gradleビルドのキャッシュ
複数のSpring Bootアプリケーションを一度に実行する必要がある大学のプロジェクトを行っています。 Gradle Dockerイメージでマルチステージビルドを構成してから、openjdk:jreイメージでアプリを実行しました。 ここに私のDockerfileがあります: FROM gradle:5.3.0-jdk11-slim as builder USER root WORKDIR /usr/src/java-code COPY . /usr/src/java-code/ RUN gradle bootJar FROM openjdk:11-jre-slim EXPOSE 8080 WORKDIR /usr/src/java-app COPY --from=builder /usr/src/java-code/build/libs/*.jar ./app.jar ENTRYPOINT ["java", "-jar", "app.jar"] 私はすべてをdocker-composeでビルドして実行しています。docker-composeの一部: website_server: build: website-server image: website-server:latest container_name: "website-server" ports: - "81:8080" もちろん、最初のビルドには時間がかかります。Dockerは依存関係をすべて引き出しています。そして、私はそれで大丈夫です。 今のところすべてが問題なく動作していますが、コードの小さな変更ごとに、1つのアプリのビルド時間は約1分です。 ビルドログの一部: docker-compose up --build …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.